问题
I am trying to join multiple table to join using criteria but getting error in doing so can someone please help me in it My code is
final Session session = getSession();
final Criteria criteria = session.createCriteria(ReferralPaymentInfo.class).createCriteria("SIGNUP_REFERRAL");
System.out.println("before");
List list = criteria.list();
System.out.println("after");
I also tried this code final Session session = getSession(); final Criteria criteria =session.createCriteria(ReferralPaymentInfo.class); criteria.setFetchMode("SIGNUP_REFERRAL", FetchMode.JOIN); List list = criteria.list();
This gives result only from table ReferralPaymentInfo and not considering table SIGNUP_REFERRAL Can some one please help me out T
回答1:
try this
DetachedCriteria ownerCriteria = DetachedCriteria.forClass(Owner.class);
ownerCriteria.setProjection(Property.forName("id"));
ownerCriteria.add(Restrictions.eq("ownername", "name"));
Criteria criteria = getSession().createCriteria(Pet.class);
criteria.add(Property.forName("ownerId").in(ownerCriteria));
来源:https://stackoverflow.com/questions/10620383/how-to-join-tables-using-hibernate-criteria