java - Oracle 重命名列名后出现无效标识符错误

标签 java sql oracle spring-data

我有一个表(我们将其称为 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/

相关文章:

java - Spring 无法加载 ldif

php - 从 ajax 调用中解析 JSON 数据

java - ORA-56721 : I/O data limit exceeded - session terminated

java - 为什么java.lang.OutOfMemoryError : is thrown when try to print the piece of code "stream3.collect(Collectors.toList());"?

java - 如何使用 Java 制作 Windows 应用程序?

mysql - 将具有多种格式的文本列转换为 MySQL 中的日期列

sql - 返回 student_ids,其中每个类别至少有一个

java - 将数组从 Java 传递到 Oracle : java. sql.SQLException:无法转换为内部表示:错误

java - 如何将 json 反序列化为字典或键值对?

sql - 外键约束的条件级联操作?