<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
    主站蜘蛛池模板: www免费插插视频| 精品成人一区二区三区免费视频| WWW免费视频在线观看播放| 国产成人精品男人免费| 综合偷自拍亚洲乱中文字幕| 免费看AV毛片一区二区三区| 亚洲狠狠成人综合网| 搡女人真爽免费视频大全| 亚洲综合一区二区三区四区五区| 免费看韩国黄a片在线观看| 亚洲欧美综合精品成人导航| 成人毛片18女人毛片免费视频未 | 免费h黄肉动漫在线观看| 欧美日韩亚洲精品| 亚洲M码 欧洲S码SSS222| 亚欧国产一级在线免费| 亚洲毛片αv无线播放一区| 91免费在线视频| 亚洲精品熟女国产| 成人免费视频网址| 男性gay黄免费网站| 亚洲人成人无码网www电影首页| 久久大香香蕉国产免费网站| 亚洲导航深夜福利| 日本视频免费在线| 成人av片无码免费天天看| 亚洲自偷精品视频自拍| 日韩免费高清视频| 97超高清在线观看免费视频| 噜噜噜亚洲色成人网站∨| 免费无码又爽又刺激高潮| 成在人线av无码免费高潮水| 久久精品国产亚洲精品2020| 在线免费观看一级毛片| 黄色视屏在线免费播放| 精品亚洲成a人片在线观看少妇| 成人免费无毒在线观看网站| 国产免费人成视频在线播放播| 91久久亚洲国产成人精品性色| 啦啦啦在线免费视频| 99久久99这里只有免费的精品|