Criteria 与 DetachedCriteria 的差异与使用
Criteria 与 DetachedCriteria 的区别与使用
Criteria 与 DetachedCriteria 的主要区别在于创建形式不一样,Criteria是在线创建,
故 是通过session创建:
DetachedCriteria 是离线创建:创建时无需Session :
其提供了两个类创建 :
Criteria criteria = detachedCriteria.getExecutableCriteria(getSession());
criteria.setResultTransformer(resultTransformer);
criteria.setFirstResult(page.getFirstResult());
criteria.setMaxResults(page.getMaxResults());
criteria.addOrder(Order.desc(o[0]));
criteria.list();
Criteria 与 DetachedCriteria 的主要区别在于创建形式不一样,Criteria是在线创建,
故 是通过session创建:
sess.createCriteria(Cat.class);
DetachedCriteria 是离线创建:创建时无需Session :
其提供了两个类创建 :
forClass(Class) 或 forEntityName(Name)
Criteria criteria = detachedCriteria.getExecutableCriteria(getSession());
criteria.setResultTransformer(resultTransformer);
criteria.setFirstResult(page.getFirstResult());
criteria.setMaxResults(page.getMaxResults());
criteria.addOrder(Order.desc(o[0]));
criteria.list();