国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Hibernate高級查詢

1.QBE

 適合列表頁屬性并搜索

public List findTestByConn(Class test){

     Example example = Example.create(test);

     example.ignoreCase().enableLike(MatchMode.ANYWHERE);

     example.excludeZeroes();//表示如果test對象中屬性值為NULL或數(shù)字類型為0的不加入查詢

   Criteria criteria = this.getSession().createCriteria(Test.class).add(example);

    return criteria.list();

}

注:該方法支持關(guān)系查詢,

this.getSession().createCriteria(Test.class).add(example)

.createCriteri(Test2.class).add(example);

2.集合過濾

this.getSession().createFilter(customer.getOrders(),"where this.price >1000 order by this.price").list();

同樣的效果:this.getSession().createQuery("from Order o where o.customer=:customer and o.price >1000 order by o.price").setEntity("customer",customer).list();

3.Query

String sql ="select id from T_test ";
    SQLQuery query = getHibernateSession().createSQLQuery(sql);
    query.addScalar("id", Hibernate.STRING);//此處不定義,可能拿不到正確的結(jié)果集
    List<String> list = query.list();

4.QBC(可支持查詢部分字段)

DetachedCriteria detachedCriteria = getDetachedCriteriaByColum(columName, test.class, "t");

//忽略大小寫模糊匹配

detachedCriteria.add(Restrictions.like("t.property1", "abc", MatchMode.ANYWHERE).ignoreCase());

//不等于

detachedCriteria.add(Restrictions.ne("t.property2", "aaa"));

//等于

detachedCriteria.add(Restrictions.eq("t.property3", true));

//插入部分SQL限制結(jié)果集

detachedCriteria.add(Restrictions.sqlRestriction(this_.property6 not in(select id from test2));

//排序

detachedCriteria.addOrder(Order.asc("t.property4")).addOrder(Order.asc("t.property5"));

List list = getHibernateTemplate().findByDetachedCriteria(detachedCriteria);

//提供對查詢部分字段的封裝,適合單表

 public DetachedCriteria getDetachedCriteriaByColum(String[] columName,
   Class className, String alias) {
  DetachedCriteria detachedCriteria = DetachedCriteria.forClass(
    className, alias);
  ProjectionList projectList = Projections.projectionList();
  if (null == columName) {
   return null;
  }

  for (String colum : columName) {
   projectList
     .add(Projections.property(alias + "." + colum).as(colum));
  }

  detachedCriteria.setProjection(projectList);
  detachedCriteria.setResultTransformer(Transformers
    .aliasToBean(className));
  return detachedCriteria;
 }

 5.Projections類

    Criteria criteria = session.createCriteria(cat.class);

      criteria.setProjection(Projections.projectionList().add(Projections.rowCount())); //查詢總行數(shù)

      criteria.add(Projections.avg(propertyName)); //求平構(gòu)值

      criteria.add(Projections.min(propertyName)); //最小值

      criteria.add(Projections.max(propertyName)); //最大值

      criteria.add(Projections.sum(propertyName)); //求和

      criteria.add(Projections.groupProperty(propertyName)); //分組

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Hibernate Projections(投影、統(tǒng)計、不重復(fù)結(jié)果)
hibernate 泛型DAO
hibernate的Criteria條件查詢
Hibernate---Criteria 查詢
[轉(zhuǎn)] Hibernate3的DetachedCriteria支持 - 影尋 - 網(wǎng)易博客
hibernate中重復(fù)顯示問題的解決方法
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服