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

          常用鏈接

          我參與的團隊

          隨筆分類(103)

          搜索

          •  

          積分與排名

          • 積分 - 415184
          • 排名 - 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 閱讀(806) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 宿州市| 甘德县| 神池县| 长垣县| 诸暨市| 张家口市| 凤翔县| 手游| 勃利县| 江源县| 梓潼县| 田东县| 锦屏县| 石棉县| 淮滨县| 安阳市| 兴城市| 永年县| 克什克腾旗| 濉溪县| 包头市| 时尚| 贵州省| 沾化县| 和平区| 绵阳市| 沛县| 清镇市| 长海县| 广水市| 林西县| 东阿县| 雷山县| 故城县| 蒙阴县| 丹江口市| 留坝县| 中超| 孝义市| 任丘市| 恩施市|