2

我有一个表,其属性定义如下: @Column(name="\"SERIAL#\"")

当 Hibernate 插入数据时,一切正常。但是对于 Hibernate-Envers(HE),HE 忘记用双引号将字段名称括起来。

我如何强制它在字段周围使用双引号?

4

2 回答 2

3

您要使用双引号,还是要转义名称?如果您只想转义,请使用反引号 (`),Hibernate 会将其转换为数据库用于转义的任何机制。所以,你的例子是:

@Column(name="`SERIAL#`")

只是出于好奇:为什么在列名中需要 # ?我一直认为特殊字符在标识符中是个坏主意:-)

于 2011-03-25T16:53:23.740 回答
0

为了解决这个问题,我设法不在字段名称中使用“#”,因此 Hibernate 和 Hibernate Envers 都不必转义字段名称。

编辑

事实上,这是 Hibernate Envers 3.6.2.Final 中的一个错误。以后应该会解决的。

编辑 2:该错误已在 Hibernate Envers 3.6.3 和 Hibernate Envers 4.0.0Alpha 中修复。

编辑 3:该错误已在 Hibernate Core 3.6.4.Final 中修复。

于 2011-03-29T14:32:56.967 回答