隨筆 - 170  文章 - 536  trackbacks - 0
          <2006年7月>
          2526272829301
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          常用鏈接

          我參與的團隊

          隨筆分類(103)

          搜索

          •  

          積分與排名

          • 積分 - 413936
          • 排名 - 135

          最新評論

          閱讀排行榜

          用 Hibernate 碰到一個很傻的問題,在 iCustomer 中有這樣的關聯,有服務記錄,該記錄會與 Customer 關聯,當時為了在不需要的時候不在 VO 里 new 出 Customer,用了這樣的寫法。

          public Customer getCustomer() {
          ?if (null == customer) {
          ??customer = new Customer();
          ?}
          ?return customer;
          }

          這樣看似沒有問題,當使用到 Customer 的時候才會創建該對象。但是每次卻會報告臟數據錯誤,其實最重要的是我忽略了一個問題,這個方法同樣會被 Hibernate 調用,在 null 的時候給 new 出一個相應的 Customer,這樣就會出現問題了,如果你把 Customer 設成 null,Hibernate 調用該方法時就會自動給你 new 一個 Customer,并沒有任何 id,這樣在保存的時候會引發臟數據錯誤。所以一定要避免這樣的寫法。

          別人給出的建議是把這樣的 new Customer 的邏輯放在外面寫,手動處理 Customer 的創建。頁面上傳遞的是 Customer 的 id,后臺手動加載 Customer 的 PO,然后 set 給 Support。

          posted on 2006-07-04 18:30 steady 閱讀(803) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 西吉县| 沛县| 喀什市| 吴桥县| 梅河口市| 鹤峰县| 合阳县| 斗六市| 屯留县| 泾源县| 南康市| 文化| 四川省| 建德市| 灵寿县| 应城市| 宁波市| 霍城县| 临朐县| 祥云县| 广丰县| 衡阳县| 拜城县| 灵石县| 岳阳县| 龙胜| 滦平县| 株洲市| 宁陵县| 增城市| 莱芜市| 安阳县| 南部县| 衡阳县| 邹城市| 彭泽县| 杨浦区| 镇宁| 南江县| 旌德县| 陇川县|