Как заставить Hibernate-Envers использовать кавычки вокруг имени поля? - PullRequest
2 голосов
/ 25 марта 2011

У меня есть таблица со свойствами, определенными так: @Column(name="\"SERIAL#\"")

Когда Hibernate вставляет данные, все работает нормально.Но речь идет о Hibernate-Envers (HE), HE забывает окружить имя поля двойными кавычками.

Как я могу заставить его использовать двойные кавычки вокруг полей?

Ответы [ 2 ]

3 голосов
/ 25 марта 2011

Вы хотите использовать двойные кавычки или вы хотите избежать имени?Если вы просто хотите уйти, используйте backticks (`), и Hibernate преобразует его в любой механизм, используемый вашей базой данных для выхода.Итак, ваш пример будет:

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

Просто из любопытства: зачем вам знак # в имени столбца?Я всегда думал, что специальные символы плохая идея в идентификаторах: -)

0 голосов
/ 29 марта 2011

Для решения проблемы мне удается не использовать '#' в имени поля, поэтому ни Hibernate, ни Hibernate Envers не должны экранировать имя поля.

EDIT :

На самом деле это ошибка в Hibernate Envers 3.6.2.Final.Это должно быть решено позже.

РЕДАКТИРОВАТЬ 2 : ошибка была исправлена ​​в Hibernate Envers 3.6.3 и Hibernate Envers 4.0.0 Альфа.: ошибка была исправлена ​​в Hibernate Core 3.6.4.Final.

...