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

          常用鏈接

          留言簿(14)

          隨筆檔案(6)

          文章分類(467)

          文章檔案(423)

          相冊

          收藏夾(18)

          JAVA

          搜索

          •  

          積分與排名

          • 積分 - 827240
          • 排名 - 49

          最新評論

          閱讀排行榜

          評論排行榜

          hibernate的saveOrUpdate()方法

           在WEB頁面中得到一個對象有兩種方法:
          (1)從Session中取得對象,然后關(guān)閉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);

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



          posted on 2007-08-26 18:05 Ke 閱讀(2428) 評論(0)  編輯  收藏 所屬分類: hibernate
          主站蜘蛛池模板: 河北省| 灵川县| 孝义市| 县级市| 社会| 衡阳县| 沂水县| 长葛市| 铅山县| 涪陵区| 浪卡子县| 香港 | 云阳县| 宁远县| 攀枝花市| 油尖旺区| 晋城| 苗栗县| 高密市| 龙口市| 富锦市| 新巴尔虎右旗| 恭城| 门头沟区| 习水县| 灌阳县| 七台河市| 观塘区| 遂溪县| 昌图县| 黔西县| 永和县| 若尔盖县| 康平县| 定安县| 阿鲁科尔沁旗| 巫溪县| 延川县| 牙克石市| 安吉县| 平阳县|