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

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

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

    posts - 431,  comments - 344,  trackbacks - 0

    當我們用HQL進行子查詢的時候,如select * from Tree where pid in (select id from Tree,此時HIBERANTE就會報錯,說什么*號錯誤之類的。但如果將*改為Tree類里的所有子段時就不會有問題了。就會像平時一樣第一行數據返回一個Object[],然后你再根據Tree類里字段對Object[]數組里的值進行轉換。這樣一來比較麻煩。今天發現如果我SQL來查有一個方法可以返回一個對象的。
    Configuration config = new Configuration().configure();
    SessionFactory sf     = config.buildSessionFactory();
    Session session = sf.openSession();
    Transaction ts = session.beginTransaction();
    Query query = session.createSQLQuery("select * from Tree t where pid in (select id from Tree) ").addEntity(Tree.class); //返回對象
    List  list = query.list(); 

    此時在遍歷list時就可以(Tree)list.get[i];將每一行的內容變換為一個對象了。

    另還可以返回一個Map對象,也就是說在在list里包含多個Map,代碼如下
    Query query = session.createSQLQuery("select id,name from Tree t where pid in (select id from Tree) ").setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP); //返回一個map,KEY:為DB中名稱一致(大小寫一致)遍歷list時就可以

    Map map = (Map)list.get[i];

    map.get("id");map.get("name");來取值。按你的SQL語句select后的字段名來作為map的Key,但這個key必須與數據庫中的字段名一模一樣。


    還可以用作函數方面的。如
    Query query = session.createSQLQuery("select sum(id) SUMID from Tree t where pid in (select id from Tree)
    .addScalar("SUMID",Hibernate.INTEGER)  //轉換類型,按DB中的type轉
    .setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP); //返回一個map,KEY:為DB中名稱一致(大小寫一致)

    直接就map.get("SUMID")可以取值了


    還有一點就是這個方法在Hibernate3.2版本上才能正常運行。

    posted on 2009-02-23 21:26 周銳 閱讀(22080) 評論(0)  編輯  收藏 所屬分類: Hibernate
    主站蜘蛛池模板: 国产一级片免费看| 9i9精品国产免费久久| 九九精品国产亚洲AV日韩| 免费中文字幕视频| 玖玖在线免费视频| 亚洲Av永久无码精品三区在线| 亚洲中文字幕无码av| 三上悠亚在线观看免费| 成人最新午夜免费视频| 亚洲av无码成h人动漫无遮挡| 99在线免费视频| 国产一区二区三区免费视频| 中文字幕亚洲色图| 国产黄在线播放免费观看| 99久久免费精品国产72精品九九| 亚洲三区在线观看无套内射| 亚洲av最新在线观看网址| 中文字幕在线免费观看| 亚洲最大av无码网址| 国产精品亚洲一区二区麻豆| 99久久99久久免费精品小说| 狠狠色伊人亚洲综合成人| 成人免费视频一区二区| 日韩在线免费电影| 亚洲欧洲另类春色校园网站| 色欲色香天天天综合网站免费| 亚洲视频在线精品| 青柠影视在线观看免费| 亚洲中文字幕无码不卡电影| 特a级免费高清黄色片| 久久精品国产亚洲av成人| 18禁免费无码无遮挡不卡网站| 亚洲高清免费在线观看| 成人毛片免费视频| 一级毛片a免费播放王色电影 | 久久久久久国产精品免费免费男同 | 中文字幕无码免费久久9一区9| 亚洲国产精品一区二区久久| 国产情侣久久久久aⅴ免费 | 亚洲色大网站WWW永久网站| 亚洲午夜福利精品无码|