隨筆 - 6  文章 - 129  trackbacks - 0
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          常用鏈接

          留言簿(14)

          隨筆檔案(6)

          文章分類(467)

          文章檔案(423)

          相冊

          收藏夾(18)

          JAVA

          搜索

          •  

          積分與排名

          • 積分 - 829274
          • 排名 - 49

          最新評論

          閱讀排行榜

          評論排行榜

          HQL 檢索方式
           實(shí)例化查詢結(jié)果
           實(shí)例化查詢結(jié)果可以說是對屬性查詢的一種改進(jìn).在使用屬性查詢時同于使用對象數(shù)組,操作和理解不太方便,如果將一個object[]中的所有成員封閉成一個對象就方便多了.
           下面的程序?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ù),否則會出錯,
           因?yàn)槌绦蛘{(diào)用new Student(s.name,s.age)語句時打不到相應(yīng)的構(gòu)造函數(shù).


          集合過濾
           下面是一個關(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*/
           在使用集合過濾時,需要注意以下幾點(diǎn):
            createFilter()方法返回的是Query對象
            createFilter()方法的第一個參數(shù)為一個持久化對象(必須為持久化狀態(tài),
            臨時或者脫管對象都是不行的)的集合.
           /*打開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 閱讀(636) 評論(0)  編輯  收藏 所屬分類: hibernate
          主站蜘蛛池模板: 开原市| 景东| 房山区| 洛宁县| 南昌市| 河源市| 敦煌市| 屯昌县| 瑞丽市| 通化市| 黑山县| 拜泉县| 长春市| 达拉特旗| 鸡东县| 岳阳县| 济南市| 山西省| 长春市| 汉中市| 罗山县| 和龙市| 晋中市| 两当县| 漯河市| 白沙| 开封县| 手游| 龙游县| 鄱阳县| 精河县| 宿州市| 尼木县| 青龙| 嘉善县| 临清市| 白玉县| 韩城市| 梁河县| 色达县| 嘉鱼县|