JPA @Column 不适用于带有特殊字符的列名

Ank*_*han 4 oracle spring hibernate jpa

我有一个名为ac-bnm_kj.

我已将实体类中的属性定义为:

@Column("ac-bnm_kj")
String acbnm;
Run Code Online (Sandbox Code Playgroud)

但是这个配置给了我以下错误:

ORA-01747: invalid user.table.column, table.column, or column specification
Run Code Online (Sandbox Code Playgroud)

因为查询生成的名称ac-bnm_kj无效。生成查询时,如何在此列名周围加上双引号ac-bnm_kj

Ste*_*rnK 5

你应该使用反引号

@Column("`ac-bnm_kj`")
String acbnm;
Run Code Online (Sandbox Code Playgroud)

或 JPA 样式引用

@Column("\"ac-bnm_kj\"")
String acbnm;
Run Code Online (Sandbox Code Playgroud)