休眠@Formula构建查询不正确

问题描述

| 我正在向字段添加公式:
@Formula(value = \"(select count(*) from approvalGroup as a where a.isAccounting=true)\")
但是查询失败,因为Hibernate试图使\'true \'成为我对象上的一个字段。 例外:
[ERROR] UnkNown column \'approvalgr0_.true\' in \'where clause\'
我怎样才能告诉Hibernate这是一个常量值,而不是它需要从实体对象中检索的值?     

解决方法

        Josh,Hibernate公式用作本机SQL(不是HQL),并且DBMS的SQL方言可能没有true关键字。尝试如下更改代码
@Formula(value = \"(select count(*) from approvalGroup as a where a.isAccounting)\")
还请使用数据库列名称,而不要使用持久实体属性的名称。