關於Criteria的Example的點滴記錄

2021-05-05 16:29:44 字數 1010 閱讀 8345

example 示例查詢,當查詢條件比較多,用此方法查詢就免去了大量的if...else...的煩惱。

建立示例查詢:

example example = example.create(sor);

criteria criteria = this.getsession().createcriteria(demo.class);

criteria.add(example);

criteria.addorder(order.desc("id"));   //查詢結果按id的倒序排列,就是最新錄入的資料將顯示在最上面

return criteria.list();   //將查詢結果做為list返回

* sor為方法傳進來的表物件

但如果並不是所有的查詢條件都是要精確匹配的怎麼辦啊,請目光下下移:

example example = example.create(sor).excludeproperty("a");  //將屬性a排除在示例查詢外

criteria criteria = this.getsession().createcriteria(

shipofficeregistry.class);

criteria.add(example);

if(sor.geta()!=null) criteria.add(expression.ge("a", sor.geta()));  //因為示例查詢預設排除為null的查詢條件,所以當a不為null時,將a做為乙個額外的條件加入查詢

criteria.addorder(order.desc("id"));

return criteria.list();

* sor為方法傳進來的表物件

當用criteria查詢產生重複資料時,可加入乙個查詢條件criteria.setresulttransformer(c.distinct_root_entity);

count查詢

criteria.setprojection(projections.rowcount());

hibernate關於criteria多表查詢問題

在hibernate一對多查詢中關聯查詢的屬性查出來不會被封裝成乙個屬性 list list1 list gethibernatetemplate findbycriteria detachedcriteria,pagebean.getcurrentpage 1 pagebean.getpagesi...

mybatis關於Criteria的一點小坑。。。

目錄final rolepermissionexample example new rolepermissionexample example.createcriteria androleidequalto roleid example.createcriteria andprojectidequa...

Hibernate的Criteria查詢總結

1 常用的查詢限制方法 在例程9 1中,restrictions.eq 方法表示equal,即等於的情況。restrictions類提供了查詢限制機制。它提供了許多方法,以實現查詢限制。這些方法及其他一些criteria常用查詢限制方法列於表9 1中。表9 1 criteria query常用的查詢...