hibernate criteria 关联查询实例
?
?
?
Criteria 关联查询实例?
?
一、
DetachedCriteria?d?= DetachedCriteria.forClass(Notify.class)
.setProjection(Property.forName("id").max());
?
Criteria c = getHibernateTemplate().getSessionFactory().openSession().createCriteria(R_Order.class) ? ? ?
?? ? ? ? ? ? ?.createAlias("notify","n")
?? ? ? ? ? ? ?.add(Restrictions.in("id", orders))
?? ? ? ? ? ? ?.add(Property.forName("n.id").eq(d))
??.createAlias("project","p")
??.createAlias("project.user","u").add(Restrictions.eq("u.id", userId));
?
二、
//根据项目 查出时间最早的,余额大于0的财务加成的时间
?
DetachedCriteria detachedCriteria = DetachedCriteria.forClass(
FinancialBonus.class).createAlias("money", "m").createAlias(
"project", "p").add(Restrictions.eq("p.id", pid)).add(
Restrictions.gt("m.balance", 0.00)).setProjection(
Property.forName("m.createTime").min());
//和最大时间相等的财务加成
Criteria criteria = getSession().createCriteria(FinancialBonus.class)
.add(Property.forName("createTime").eq(detachedCriteria));
?
FinancialBonus financialBonus = (FinancialBonus) criteria.list().get(0);
?
?
?
?
?
?
?
?
?
?