10

I am trying to get selected columns from a table using hibernate criteria query

Criteria cr = session.createCriteria(OfferCashbackMaster.class)
    .setProjection(Projections.projectionList()
      .add(Projections.property("txnType"), "txnType")
      .add(Projections.property("off_Discription"), "off_Discription"))
    .setResultTransformer(Transformers.aliasToBean(OfferCashbackMaster.class))
    .add(Restrictions.and(Restrictions.eq("aggregatorId", aggregatorId),
                           Restrictions.eq("txnType", txnType)));

The name txnType mentioned in projection is having a clash with restriction.

Giving me the following error

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'

How can we solve this issue?

1
  • 1
    Please add your OfferCashbackMaster class and its xml mapping if applicable. Also add your hibernate config xml / java class Commented Jun 11, 2018 at 11:02

2 Answers 2

5
+50

If you are using Hibernate 3.2.6, 3.0.5, 3.5.5, 3.6.0.Beta3 then it's time for migrating to newer version of Hibernate.

Reported bug: Criteria Query Issue with Projection and restriction

Link: https://hibernate.atlassian.net/browse/HHH-3371

Affects Version/s: 3.2.6 3.0.5, 3.5.5, 3.6.0.Beta3

Component/s: query-criteria

Fix Version: 3.6.0.Beta4 and above.

Sign up to request clarification or add additional context in comments.

Comments

5

I believe you're using the outdated version of hibernate.

The issue is addressed and resolved for a long time:

https://hibernate.atlassian.net/browse/HHH-817

Fixed version: 3.6.0.Beta4

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.