隨筆 - 6  文章 - 129  trackbacks - 0
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          常用鏈接

          留言簿(14)

          隨筆檔案(6)

          文章分類(467)

          文章檔案(423)

          相冊

          收藏夾(18)

          JAVA

          搜索

          •  

          積分與排名

          • 積分 - 827218
          • 排名 - 49

          最新評論

          閱讀排行榜

          評論排行榜

          HQL 檢索方式
           實(shí)例化查詢結(jié)果
           實(shí)例化查詢結(jié)果可以說是對屬性查詢的一種改進(jìn).在使用屬性查詢時(shí)同于使用對象數(shù)組,操作和理解不太方便,如果將一個(gè)object[]中的所有成員封閉成一個(gè)對象就方便多了.
           下面的程序?qū)⒉樵兘Y(jié)果進(jìn)行了實(shí)例化:
           /*打開Sessio,開戶事務(wù)*/
           Query query = session.createQuery("select new Student(s.name,s.age) from Student s");\
           List list = query.list();
           for(int i=0;i<list.size();i++)
           {
            Student student = (Student)list.get(i);
            System.out.println(student.getName + " " + student.getAge());
           }
           /*提交事務(wù),關(guān)閉Session*/
           需要注意的是,Student對象中必須有Student(name,age)的構(gòu)造函數(shù),否則會出錯(cuò),
           因?yàn)槌绦蛘{(diào)用new Student(s.name,s.age)語句時(shí)打不到相應(yīng)的構(gòu)造函數(shù).


          集合過濾
           下面是一個(gè)關(guān)于集合過濾的例子
           /*打開Sessio,開戶事務(wù)*/
           term = (term)session.get(Term.class,"21fsd54fds41245742");
           Query query = sesion.createFilter(term.getStudent(),"where this.age>18");
           List list = query.list();
           /*提交事務(wù),關(guān)閉Session*/
           在使用集合過濾時(shí),需要注意以下幾點(diǎn):
            createFilter()方法返回的是Query對象
            createFilter()方法的第一個(gè)參數(shù)為一個(gè)持久化對象(必須為持久化狀態(tài),
            臨時(shí)或者脫管對象都是不行的)的集合.
           /*打開Sessio,開戶事務(wù)*/
           term = (term)session.get(Term.class,"21fsd54fds41245742");
           
           student = new Student();
           student.setName("XXX");
           student.setAge(20);
           term.getStudent.add(student);

           Query query = sesion.createFilter(term.getStudent(),"where this.age>18");
           List list = query.list();
           /*提交事務(wù),關(guān)閉Session*/
           此段程序查出的學(xué)生對象并不包含剛剛所添加的學(xué)生對象,即使他的年齡是符合條件的



          posted on 2007-08-23 20:53 Ke 閱讀(632) 評論(0)  編輯  收藏 所屬分類: hibernate
          主站蜘蛛池模板: 连江县| 许昌市| 张家界市| 康马县| 台州市| 沅江市| 呈贡县| 渑池县| 蒲江县| 广西| 长白| 通州区| 古浪县| 尚义县| 墨江| 子洲县| 松滋市| 葫芦岛市| 偏关县| 双柏县| 鄱阳县| 娱乐| 博爱县| 林甸县| 马边| 阳谷县| 镇原县| 怀宁县| 贵定县| 永吉县| 灵川县| 肥乡县| 福州市| 兴宁市| 精河县| 乌苏市| 阿合奇县| 元氏县| 海林市| 汤原县| 清河县|