Dev Zone
          偏執狂才能生存,人生/事業的路上需要再堅持一下
          但是又怎么說得清堅持的結果,道得盡堅持的含義

          今天做了一個測試,發現Hibernate的dynamic-update只在兩種條件下生效:

          1。同一session內,對已經persisit的對象進行update,這里的“已經persist”是指update之前先進行了create或者load調用。代碼示例:

          Session session = openSession();
          User user 
          = (User)session.load(User.class,new Long(12));
          user.setAddress(
          null);
          session.update(user);
          session.flush();

          將hibernate配置成show_sql=true,可以看到update產生的sql語句。

          2。不同session之間,update傳入的對象是另一個session中的persist對象(對該對象調用了create或者load方法)。代碼示例:

          Session session1 = openSession();
          User user 
          = (User)session1.load(User.class,new Long(12));

          Session session2 
          = openSession();
          user.setAddress(
          null);
          session2.merge(user);
          session2.flush();


          如果將session2.merge(..)改成update,則會更新所有可更新的屬性。

          posted on 2005-05-17 22:10 dev 閱讀(2220) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
           
          主站蜘蛛池模板: 蒲城县| 阿尔山市| 英吉沙县| 宜州市| 奉节县| 兴安县| 康平县| 邯郸市| 武冈市| 曲阳县| 炎陵县| 那曲县| 明星| 东山县| 古丈县| 吴堡县| 商都县| 平邑县| 甘孜县| 阜康市| 泾川县| 晋中市| 永宁县| 西宁市| 三台县| 弋阳县| 怀化市| 鸡西市| 高邑县| 重庆市| 麻江县| 柘荣县| 吉木乃县| 轮台县| 南雄市| 健康| 开平市| 娱乐| 铜陵市| 宜川县| 泊头市|