我在我的 java DAO 类中使用了它,它在 LANG PREF 之间包含空格
@Column(name = "LANG PREF")
private String langprefid;
一旦我的 java 类运行,我就会得到 p>
org.hibernate.exception.SQLGrammarException: Incorrect syntax near the keyword 'as'.
谁能帮我解决这个问题?
最佳答案
手动转义保留关键字
如果您使用的是 Hibernate native API,则可以使用反引号对它们进行转义:
@Column(name = "`LANG PREF`")
如果你使用的是JPA,你可以用双引号转义:
@Column(name = "\"LANG PREF\"")
自动转义保留关键字
如果你想自动转义保留关键字,你可以将Hibernate-specific hibernate.globally_quoted_identifiers
设置为true
配置属性:
<property
name="hibernate.globally_quoted_identifiers"
value=true"
/>
关于java - 如何在 JPA 和 Hibernate 的列名中使用空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31239172/