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

          常用鏈接

          留言簿(14)

          隨筆檔案(6)

          文章分類(467)

          文章檔案(423)

          相冊

          收藏夾(18)

          JAVA

          搜索

          •  

          積分與排名

          • 積分 - 827218
          • 排名 - 49

          最新評論

          閱讀排行榜

          評論排行榜

          hibernate的saveOrUpdate()方法

           在WEB頁面中得到一個對象有兩種方法:
          (1)從Session中取得對象,然后關閉Session,該對象便成為了脫管對象;
          (2)直接new一個對象實例,它是臨時對象.
          然而對于上述的兩種情況,有不同的處理方法,對于第一種情況

          /*從Session中取Team對象*/
          Team team = TeamDAO.getTeamById("2456721df4fdsf45");
          Student student = new Student();
          student.setName("ABC");
          team.getStudent.add(student);
          TeamDAO.update(team);

          對于第二種情況

          /*通過new.生成一個新的Team對象*/
          Team team = new Team();
          team.setTeamName("team1");
          Student student = new Student();
          Student student = new Student();
          student.setName("ABC");
          team.getStudent().add(student);
          TeamDAO.save(student);

          在實際的應用中,WEB程序員往往不會注意Team對象是脫管對象還是臨時對象,
          而對脫管對象save()操作是不對的,同樣對臨時對象update()操作也是錯誤的.
          為了解決這個問題,便產生了saveOrUpdate()方法.
          saveOrUpdate()方法兼具save()和update()方法的功能,對于傳入的對象.saveOrUpdate()
          方法首先會判斷其是脫管對象還是臨時對象,然后調用合適的方法



          posted on 2007-08-26 18:05 Ke 閱讀(2428) 評論(0)  編輯  收藏 所屬分類: hibernate
          主站蜘蛛池模板: 陈巴尔虎旗| 保康县| 天祝| 吉林省| 永靖县| 钟祥市| 石嘴山市| 铁力市| 德安县| 兰考县| 望城县| 稻城县| 永平县| 榕江县| 衡东县| 鄂伦春自治旗| 新邵县| 桦甸市| 彭水| 旺苍县| 阿城市| 南投县| 赤水市| 仪征市| 班玛县| 建德市| 蓝田县| 建瓯市| 芒康县| 平乡县| 九寨沟县| 昌黎县| 德惠市| 德安县| 广水市| 屯昌县| 龙州县| 自治县| 涪陵区| 新郑市| 建瓯市|