我正在尝试使用hibernate条件查询
从表中选择列Criteria cr = session.createCriteria(OfferCashbackMaster.class)
.setProjection(Projections.projectionList()
.add(Projections.property("offerCode"), "offerCode")
.add(Projections.property("txnType"), "txnType")
.add(Projections.property("validTo"), "validTo")
.add(Projections.property("off_Discription"), "off_Discription"))
.setResultTransformer(Transformers.aliasToBean(OfferCashbackMaster.class))
.add(Restrictions.and(Restrictions.eq("aggregatorId", aggregatorId),
Restrictions.eq("txnType", txnType)));
投影中提到的名称txnType
与限制发生冲突。
给我以下错误
Hibernate:
select
this_.OFFER_CODE as y0_,
this_.TXN_TYPE as y1_,
this_.VALID_TO as y2_,
this_.OFFER_DISCRIPTION as y3_
from OFFER_CASHBACK_MASTER this_
where
(this_.AGGREGATOR_ID=? and y1_=?)
2018-02-25/15:42:41.756 WARN: util.JDBCExceptionReporter -
SQL Error: 1054, SQLState: 42S22
2018-02-25/15:42:41.757 ERROR: util.JDBCExceptionReporter -
Unknown column 'y1_' in 'where clause'
我们如何解决这个问题?
答案 0 :(得分:5)
我相信你正在使用过时的hibernate版本。
该问题已经解决并解决了很长时间:
https://hibernate.atlassian.net/browse/HHH-817
修正版:3.6.0.Beta4
答案 1 :(得分:5)
如果你正在使用Hibernate 3.2.6 3.0.5, 3.5.5, 3.6.0.Beta3
,那么就该迁移到更新版本的Hibernate了。
报告错误:标准查询问题与投影和限制
链接:https://hibernate.atlassian.net/browse/HHH-3371
影响版本:this.http.get('./inputs/inputs.json')
Component / s:query-criteria
修正版本:3.6.0.Beta4及以上版本。