<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
    主站蜘蛛池模板: 噜噜综合亚洲AV中文无码| 亚洲男人的天堂在线| 永久免费AV无码国产网站 | 人妻在线日韩免费视频| 亚洲爆乳无码精品AAA片蜜桃| 国产午夜亚洲精品国产成人小说| 91精品免费久久久久久久久| 一道本不卡免费视频| 久久精品熟女亚洲av麻豆| 亚洲在成人网在线看| 亚洲国产日韩在线| 亚洲乱亚洲乱淫久久| 亚洲v高清理论电影| 亚洲VA中文字幕无码一二三区 | 亚洲AV无码专区亚洲AV桃| 亚洲国产精品成人精品小说| 久久亚洲国产视频| 亚洲国产精品久久久久秋霞影院| 亚洲人成网亚洲欧洲无码久久| 亚洲国产V高清在线观看| 蜜臀91精品国产免费观看| 免费看美女被靠到爽| 免费真实播放国产乱子伦| 亚洲国产精品尤物YW在线观看| 免费一级毛片在线播放| 国产精品亚洲美女久久久| 亚洲最大AV网站在线观看| 国产亚洲精品国产| 亚洲国产av高清无码| 亚洲色大网站WWW永久网站| 成人久久久观看免费毛片| 免费无码一区二区三区蜜桃| AV大片在线无码永久免费| 日韩精品无码人妻免费视频| 久久影院亚洲一区| 亚洲国产片在线观看| a在线视频免费观看在线视频三区 a毛片成人免费全部播放 | 久久久久亚洲Av无码专| 黄页免费视频播放在线播放| 91精品导航在线网址免费| 国产美女无遮挡免费网站|