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"/>