ORA-00904: "xxx": invalid identifier?

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

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

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

求助大佬们!!!

回复
阅读 538
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
推荐问题
宣传栏