我有一个属性定义如下的表:@Column(name="\"SERIAL#\"")
当Hibernate插入数据时,一切工作正常。但是当涉及到Hibernate-Envers( HE )时,他会忘记用双等号括起字段名。
我如何强制它使用字段周围的双二进制数?
发布于 2011-03-29 22:32:57
为了解决这个问题,我设法不在字段名中使用'#‘,因此Hibernate和Hibernate Envers都不必转义字段名。
编辑
事实上,这是Hibernate envers3.6.2Final中的一个错误。这个问题应该在以后解决。
EDIT 2:该错误已在Hibernate Envers 3.6.3和Hibernate Envers 4.0.0Alpha中修复。
EDIT 3:该错误已在Hibernate Core3.6.4中修复。
发布于 2011-03-26 00:53:24
是要使用双引号,还是要对名称进行转义?如果你只是想转义,使用反引号(`),Hibernate会将它转换成你的数据库用于转义的任何机制。因此,您的示例如下所示:
@Column(name="`SERIAL#`")出于好奇:为什么在列名中需要#?我一直认为在标识符中使用特殊字符不是一个好主意:-)
https://stackoverflow.com/questions/5434658
复制相似问题