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