用了這麼屢次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