使用布尔属性和SAP HANA DB休眠HQL查询



Goodmoring
我有以下情况。
我有一个具有布尔属性的模型

@Column(name = "ELIMINATO") 
private Boolean eliminato;

以及以下HQL对其的查询

Query q =  session.createQuery("from Sottoscrittore where eliminato = false");

Hibernate生成以下SQL查询

select
... all fields ...
from
SOTTOSCRITTORE modulounic0_ 
where
modulounic0_.ELIMINATO=0 

当我运行此查询时,返回以下错误

SAP DBTech JDBC: [266]: inconsistent datatype: INT type is not comparable with BOOLEAN type.

问题是,在SAP HANA数据库中,正确的查询是以下

select
... all fields ...
from
SOTTOSCRITTORE 
where
ELIMINATO=FALSE;

为了设置查询的正确值,我尝试设置hibernate属性"hibernate.查询.替换";在";hibernate.cfg.xml";这样

<property name="hibernate.query.substitutions">true TRUE, false FALSE</property>

但我也犯了同样的错误。
可能是Hibernate框架错误?
我该如何解决这个问题?
谢谢
问候

只需在您的persistence.xml文件中添加以下属性:

<property name="hibernate.dialect.hana.use_legacy_boolean_type" value="false"/>

最新更新