Hibernate @Formula строит запрос неправильно - PullRequest
4 голосов
/ 15 июня 2011

Я добавляю формулу в поле:

@Formula(value = "(select count(*) from approvalGroup as a where a.isAccounting=true)")

Но запрос не выполняется, потому что Hibernate пытается установить значение true в поле моего объекта.
Исключение:

[ERROR] Unknown column 'approvalgr0_.true' in 'where clause'

Как я могу сказать Hibernate, что это постоянное значение, а не то, что ему нужно извлечь из объекта сущности?

1 Ответ

11 голосов
/ 15 июня 2011

Джош, формулы Hibernate применяются как нативный SQL (не HQL), и, вероятно, в диалекте SQL вашей СУБД отсутствует ключевое слово true .Попробуйте изменить код следующим образом

@Formula(value = "(select count(*) from approvalGroup as a where a.isAccounting)")

Также используйте имена столбцов БД вместо имен свойств постоянных сущностей.

...