getHibernateTemplate().findByCriteria()使用
用了这么多次getHibernateTemplate().findByCriteria(),现在才发现它很好用,可以解决很多查询问题。
getHibernateTemplate().findByCriteria(criteria)可以查询不需要分页的数据,
getHibernateTemplate().findByCriteria(criteria, firstResult, maxResults)可以用来查询需要的分页的属性,
例如:
HibernateTemplate ht=this.getHibernateTemplate();
DetachedCriteria criteria=DetachedCriteria.forClass(Paper.class);
ht.findByCriteria(criteria, firstResult, maxResults);
有了上面的criteria就更好用了,criteria可以使用add()方法添加我们需要的查询条件,就好比SQL语句中的where条件语句
而add()方法可以使用Restrictions类的静态方法返回值作为参数,例如:
criteria.add(Restrictions.in("TExams", examsList)).add(Restrictions.eq("patype", 0));
Restrictions类又很多的方法可以代替SQl语句中的“>、=、<、!”等,还包括了isNull、in、and、or等等很多,具体的网上有很多资料。
灵活的使用findByCriteria可以解决SSH框架中大多数查询吧。哈-----哈--------