ORA-00904: "xxx": invalid identifier?

有没有大佬见过这个问题
我的类里面有这个对应的属性
image.png
表里面有对应的字段
image.png

但是在使用hibernate保存对象时就报错了

Caused by: java.sql.SQLSyntaxErrorException: ORA-00904: "PAY_TYPE_CODE": invalid identifier

求助大佬们!!!

阅读 2.4k
1 个回答

是不是在建表的时候字段加上了双引号?

create table Test (
    "Id" varchar2(1000)
)

select Id from Test;  -- ORA-00904: "ID": 标识符无效

select "id" from Test;  -- ORA-00904: "id": 标识符无效

select "Id" from Test;  -- pass

image.png

如果你没加双引号的话,字段显示应该是全大写的

create table Test2 (
    id varchar2(1000)
);

image.png


尝试一下:

@Column("\"pay_type_code\"")

再修改配置,告诉 hibernate 转成 sql 时和代码中指定的名称完全一样

spring.jpa.hibernate.naming.physical-strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏