我有一个表(我们将其称为 MY_TABLE),其中有一列(我们将其称为 COLUMN_A)。
我使用 spring Data 对该表执行 CRUD 操作。特别是,我使用 org.springframework.data.repository.CrudRepository 接口(interface)中的 save 方法将一些日志记录数据插入到该表中。
我的问题是,今天早上我注意到在创建 MY_TABLE(使用 SQL 脚本)时,我犯了一个拼写错误,写了 COLUM_NA
而不是 COLUMN_A
作为列名称.
因此,我对表进行了 ALTER
编辑以重命名该列,然后将 Java 实体类 MyTableEntity
中的列名称重命名为 getter/setter 方法。
从那时起,当我执行 Java 应用程序时,出现以下 Oracle 错误:
ORA-00904: "MYTABLEENT0_"."COLUMN_A" : invalid identifier.
就好像他没有找到新的列名,而仍然使用旧的错误名称。但不知道为什么,我把所有的列名都改了。
感谢您的帮助。
最佳答案
如果您仔细查看错误消息,您会注意到有关 column_name 的显示方式的一些信息。
ORA-00904: "MYTABLEENT0_"." COLUMN_A " : invalid identifier.
^ ^
那里有流氓空间。可能您的实际列名为 COLUMN_A
且没有空格。 Oracle 将双引号中的标识符视为文字。因此“COLUMN_A”!=“COLUMN_A”
。
您或许可以通过编辑配置文件来解决此问题。
关于java - Oracle 重命名列名后出现无效标识符错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34462465/