麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 編程設計 > 正文

Hibernate高級查詢實戰

2023-06-11 14:56:25
字體:
來源:轉載
供稿:網友

大家知道,在Hibernate Framework中,提供了三種查詢數據的方式:
1.Hibernate Query Language (HQL):
   它是ANSI SQL的最小OO Dialect,
   例:
   session.createQuery("from Category c where c.name like 'Laptop%'");
                     entityManager.createQuery("select c from Category c where c.name like 'Laptop%'");
2.Criteria query :
    它是HQL查詢的延伸,提供了一些高級查詢功能
例:
session.createCriteria(Category.class)
                .add( Restrictions.like("name", "Laptop%") );
3.Native SQL query :
session.createSQLQuery(
"select {c.*} from CATEGORY {c} where NAME like 'Laptop%'"
).addEntity("c", Category.class);

最近,我在項目中經常遇到Hibernate數據查詢的任務,我對一些我遇到的較難的課題舉例進行說明:

《表述SELECT》
Criteria crit = session.createCriteria(User.class)
.setProjection( Projections.projectionList()
.add( Projections.property("lastname"))
.add( Projections.property("firstname"))
.list();

《表述WHERE》
Criteria crit = session.createCriteria(User.class)
.add(Restrictions.eq("email", "[email protected]"))
.uniqueResult();

《表述GROUP》
Criteria crit = session.createCriteria(User.class)
.setProjection( Projections.projectionList()
.add( Projections.groupProperty("lastname"))
.add( Projections.groupProperty("firstname"))
.list()

《表述ORDER》
Criteria crit = session.createCriteria(User.class)
.addOrder( Order.asc("lastname") )
.addOrder( Order.asc("firstname") )
.list();

《取TOP 5結果》:
Criteria crit = session.createCriteria(Cat.class);
.setMaxResults(5)
.list();

《分頁》:
Criteria crit = session.createCriteria(Cat.class)
.setFirstResult(1)
.setMaxResults(50)
.list();

《取查詢結果》:
如果使用select或group,必須使用object[]來獲得查詢結果List值;
如果未使用select或group,必須使用java object[]來獲得查詢結果List值;

《涉及組合primary key屬性》:
Criteria crit = session.createCriteria(activitylog.class)
.add( Restricts.eq(“comp_id.custId”,customerid0) )
.add( Restricts.ge(“createdTs”, starttime) )
.add( Restricts.le(“createdTs”, endtime ) )
.list();

《Foreign Key聯合查詢》:
Criteria crit = session.createCriteria(activitylog.class)
.createAlias( “taskCodeRf”, “tc” )
.setProjection( Projections.projectionList()
.add( Projections.property("UserId"))
.add( Projections.property("tc.taskdescription"))
.list();

《Native Query》:
SQLQuery query = session.createSQLQuery(“select  activitylog_seq.nextval as sessid from dual”);
Query.addScalar(“sessid”,Hibernate.LONG);
Long long0 = query.uniqueResult();

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲va久久久噜噜噜久牛牛影视 | 最新一区二区三区 | 亚洲一区国产二区 | 久草在线资源福利站 | 成人在线观看一区二区三区 | 爱操视频 | 蜜桃一本色道久久综合亚洲精品冫 | 毛片三区 | 精品久久一区二区 | 中文字幕欧美视频 | 精品一区二区亚洲 | 国产黄色免费网站 | 亚洲成人福利网站 | 最新亚洲国产 | 免费香蕉成视频成人网 | 久久久久电影网站 | 成人在线视频免费播放 | 欧美高清一级片 | 十级毛片 | 国产69精品久久久久孕妇黑 | 1级片在线观看 | 日日碰日日操 | 日夜操天天干 | 欧美18—19sex性hd按摩 | 日本搞逼视频 | 久草在线视频首页 | 午夜a狂野欧美一区二区 | 国产精品久久久久一区二区 | 成人av一二三区 | 免费a级片视频 | 国产大片免费看 | 国产一区二区在线免费播放 | 亚洲一区二区在线免费 | 成年片在线观看 | chinesexxx少妇露脸 | 亚洲一区二区三区精品在线观看 | 日本黄色大片免费 | av老司机久久 | av电影在线观看网站 | 欧美日韩免费看 | 国产精品久久久久久久久久 |