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);

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Hibernate,C,C++,C#)