Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/391.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何强制Hibernate Envers在字段名称周围使用引号?_Java_Eclipse_Hibernate_Double Quotes_Hibernate Envers - Fatal编程技术网

Java 如何强制Hibernate Envers在字段名称周围使用引号?

Java 如何强制Hibernate Envers在字段名称周围使用引号?,java,eclipse,hibernate,double-quotes,hibernate-envers,Java,Eclipse,Hibernate,Double Quotes,Hibernate Envers,我有一个表,其属性定义如下: @Column(name=“\”SERIAL\35;\”) 当Hibernate插入数据时,一切正常。 但对于Hibernate Envers(HE),他忘了用双引号括起字段名 如何强制它在字段周围使用双引号?是要使用双引号,还是要转义名称?如果您只是想转义,请使用backticks(`),Hibernate会将其转换为数据库用于转义的任何机制。因此,你的例子是: @Column(name="`SERIAL#`") 出于好奇:为什么在列名中需要一个#?我一直认为在

我有一个表,其属性定义如下:
@Column(name=“\”SERIAL\35;\”)

当Hibernate插入数据时,一切正常。 但对于Hibernate Envers(HE),他忘了用双引号括起字段名


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

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

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

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

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

编辑

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

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

编辑3
该漏洞已在Hibernate Core 3.6.4.Final中修复。

我正在为数据库构建一个小型监控工具。我监视的一个数据库公开了带有此类字符的表。Hibernate理解反勾号,但Hibernate Envers不理解。我使用的是PostgeSQL,它使用双引号而不是反勾号。然而,Hibernate仍然在使用backticks。你能看看我的表吗?