首页 > 解决方案 > JPA @Column 不适用于具有特殊字符的列名

问题描述

我有一个名为ac-bnm_kj.

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

@Column("ac-bnm_kj")
String acbnm;

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

ORA-01747: invalid user.table.column, table.column, or column specification

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

标签: springoraclehibernatejpa

解决方案


你应该使用反引号

@Column("`ac-bnm_kj`")
String acbnm;

或 JPA 风格的引用

@Column("\"ac-bnm_kj\"")
String acbnm;

推荐阅读