<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 165, comments - 198, trackbacks - 0, articles - 1
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    沒有玩轉(zhuǎn)的 hibernate hql 檢索

    Posted on 2007-08-24 16:36 G_G 閱讀(605) 評論(0)  編輯  收藏 所屬分類: hibernate
    ??? 1。文件的映射。由于使用 MyEclipse(傻瓜版^_^) 所以 hibernate工具(extensions,Middlegen,tools等)一直沒好好研究這就不獻丑了。
    ??? 2。Criteria
    ??? ?? 1)查詢條件通過 Criteria.add 添加 Expression 用于描述條件
    ??? ??? ??? ??? Expression.( and or like in le lt ..... )
    ??? ?? ?? ?? ?? 參見: Criteria查詢
    ??? ?? 2)criteria.setFirstResult(100);
    ??? ??? ? criteria.setMaxResults(20); //檢索范圍
    ??? ??? ? criteria.addOrder(Order.asc("name")); //排序

    ??? ??? ? .add( Expression.sql("lower($alias.name) like lower(?)", "Fritz%", Hibernate.STRING)?? //直接嵌入SQL
    ??? ?? 3)
    Cat cat = new Cat();
    ??? ?? ?? ....

    ??? ???? List results = session.createCriteria(Cat.class).add( Example.create(cat) ).list(); //根據(jù)對象查詢
    ??? ?
    ??? 3。HQL 完全面向?qū)ο蟮模邆淅^承、多態(tài)和關(guān)聯(lián)等特性。
    ??? ?? 1)參見: HQL
    ??? ?? 2)內(nèi)連接,inner join
    ??? ????? 左外連接,left outer join

    ??? ????? 右外連接,right outer join
    ?
    ??? ??? ? http://www.hibernate.org/hib_docs/reference/en/html/queryhql.html
    ??? ?? ?? 代表性的語句
    ??? ?
    Hql.hbm.xml
    ????????
    <set?name="fkSet"?inverse="true">
    ????????????
    <key?column="id"/>
    ????????????
    <one-to-many?class="Fk"/>
    ????????
    </set>
    SQL
    alter?table?fk?add?constraint??FK_hf?foreign?key(id)?references?hql(id)

    mysql> select * from hql;
    +----+----------+
    | id | name???? |
    +----+----------+
    |? 0 | liukaiyi |
    |? 1 | heha???? |
    +----+----------+
    2 rows in set (0.00 sec)

    mysql> select * from fk;
    +----+------+
    | id | name |
    +----+------+
    |? 0 | yy?? |
    |? 1 | xx?? |
    +----+------+
    2 rows in set (0.00 sec)


    //簡單的 結(jié)果: 2? liukaiyi:heha
    ????????Query?qu?=?se.createQuery("select?h.name?"?+
    ????????????????????????????????????????
    "?from?Hql?h?,?Fk?f"?+
    ????????????????????????????????????????
    "?where?h.id?=?f.id"?);
    ????????List?list?
    =??qu.list()?;
    ????????tr.commit();
    ????????System.out.println(?list.size()?);
    ????????System.out.println(?list.get(
    0)+":"+list.get(1)?);


    //給出對象 結(jié)果 : heha
    Query?qu?=?se.createQuery("from?Hql?h?where?h.fkSet.name='xx'");
    ((Hql)list.get(
    0)).getName()?;


    //給出Object 結(jié)果:heha xx
    Query?qu?=?se.createQuery("select?h.name,f.name?from?Hql?h?join?h.fkSet?f?where?f.name='xx'");
    List?list?
    =??qu.list()?;
    tr.commit();
    System.out.println(list.size());????
    Object[]?objs?
    =?(Object[])?list.get(0)?;
    System.out.println(?objs[
    0]?+":"+objs[1]?);

    //給出 Map? heha xx
    ????????
    ????????Query?qu?
    =?se.createQuery("select?new?map(?h.name?as?hn,f.name?as?fn)from?Hql?h?join?h.fkSet?f?where?f.name='xx'");
    ????????List?list?
    =??qu.list()?;

    ????????tr.commit();
    ????????System.out.println(list.size());????
    ????????Map?map?
    =?((Map)list.get(0));
    ????????System.out.println(?map.get(
    "hn")?);
    ????}

    //報表語句? 結(jié)果: 1

    ????????Query?qu?=?se.createQuery("select?count(*)?from?Hql?h?join?h.fkSet?f?"?+
    ????????????????????????????????????????
    "?where?h.name='heha'?and?h.id=f.id?"?+
    ????????????????????????????????????????
    "?group?by?h.name?");
    ????????List?list?
    =??qu.list()?;
    ????????tr.commit();
    ????????System.out.println(?list.get(
    0)?);

    //集合內(nèi) 結(jié)果 liukaiyi:heha
    //
    元素集(elementsindices 函數(shù)) 可以使用 any, some, all, exists, in
    //
    EG:? from Player p where 3 > all elements(p.scores)
    +----+----------+
    | id | name???? |
    +----+----------+
    |? 0 | liukaiyi |
    |? 1 | heha???? |
    |? 3 | oo?????? |
    +----+----------+

    ?? ????
    ??? ??? Query?qu?
    =?se.createQuery("select?h.name?"?+
    ????????????????????????????????????????
    "?from?Hql?h"?+
    ????????????????????????????????????????
    "?where?h.id?in?elements(h.fkSet.id)?"?);
    ????????List?list?
    =??qu.list()?;
    ????????tr.commit();
    ????????System.out.println(?list.get(
    0)+":"+list.get(1)?);


    //使用 javaBean 綁定
    Query?q?=?s.createQuery("from?foo?Foo?as?foo?where?foo.name=:name?and?foo.size=:size");
    q.setProperties(fooBean);?
    //?fooBean包含方法getName()與getSize()
    List?foos?=?q.list();












    主站蜘蛛池模板: ass亚洲**毛茸茸pics| 亚洲国产一区二区视频网站| 亚洲永久无码3D动漫一区| 国产精品亚洲а∨无码播放不卡| a级毛片无码免费真人| 亚洲色欲色欲www在线播放| 成年女人毛片免费播放视频m| 亚洲乱码一二三四区乱码| 亚洲AV无码一区二区三区鸳鸯影院| 中国一级全黄的免费观看| 中文亚洲AV片不卡在线观看| 9i9精品国产免费久久| 久久久久久久综合日本亚洲| 亚洲欧洲精品一区二区三区| 亚洲综合无码一区二区痴汉| 成人毛片免费播放| 精品在线免费视频| 久久久免费精品re6| 老汉色老汉首页a亚洲| 免费无码国产在线观国内自拍中文字幕| 国产免费爽爽视频免费可以看| 色多多免费视频观看区一区| 国内精品99亚洲免费高清| 东方aⅴ免费观看久久av| 日本免费无遮挡吸乳视频电影| 国产精品亚洲片在线花蝴蝶 | 中文免费观看视频网站| 亚洲国产精品一区二区三区久久 | 中文字幕无码不卡免费视频| 亚洲精品国产高清在线观看| 国产精品亚洲产品一区二区三区| 免费91最新地址永久入口| 亚洲中文字幕无码不卡电影| 蜜臀98精品国产免费观看| 久久久国产精品亚洲一区| 97人伦色伦成人免费视频| 一级特黄色毛片免费看| 免费国产成人高清在线观看麻豆| 亚洲xxxx18| 伊人久久亚洲综合| 黄色网址免费观看|