風雨無阻

          實例:設備,設備類型,設備端口

          有以下三個對象:
          US設備對象:USDevie
          US設備類型對象:USDeviceModle
          US設備端口對象:USDevicePort
          class USDevice
          {
          ....
          // US設備類型
          USDeviceModel model;

          // US設備端口對象集合
          Set<USDevicePort> devicePortSet = new HashSet();

          }

          /**
          US設備類型說明每種設備都有不同的端口數目
          */
          class USDeviceModel
          {
          ....

          // 設備端口數目
          int deviceport;
          }

          class USDevicePort
          {
          private int deviceId;
          private int devicePort;
          }

                         1              :                    1                    :                    n
          一種US設備(device)----->設備類型(model)------>不同數目的設備端口
          US設備:設備類型:設備端口數目 = 1:1:n
          所以,如果新增設備的時候,要根據設備類型,得到相應的設備端口數目,
          然后在USDevicePort對應的數據庫表中插入記錄.
          編輯設備的時候,如果編輯了US設備類型,則相應的設備端口就會改變,這種
          情況除了更新USDevice對應的數據表中設備類型外,因為在USDevicePort表中
          存放在以前設備類型的端口記錄,所以應該先刪除之前的端口記錄,然后再插入
          現在類型所對應的端口記錄.
          其實只需:

          //這一步根據具體設備id,從數據庫中取出相應的設備對象
          USDevice device = .....

          // 得到US設備端口對象集合
          Set devicePortSet = device.getDevicePortSet();

          // 先清空以前所有的端口記錄
          devicePortSet.clear();

          // 根據編輯后類型ID,得到設備類型對象,并可以得到此種類型上的端口數目
          USDeviceModel usModle = ....


          // 根據上面得到的端口數據,構造"設備端口數目"對象,并把所有的設備端口對象添加到集合中

          //最后更新US設備


          這樣,每當編輯一個US設備的類型后,在設備端口表中,這種設備編輯之前的類型所對應的端口記錄
          就會被刪除,而保持只有新的設備類型端口記錄.

          注意在配置USDevice.hbm.xml文件時,要將<set name="devicePortSet " casecade="all-orphan-delete" .../>
          因為它會將和USDevice沒有關聯的對象從數據中刪除,這也與程序中devicePortSet.clear()相對應.

           

           

           


           

          posted on 2008-03-14 23:53 秋楓故事 閱讀(383) 評論(0)  編輯  收藏 所屬分類: 工作總結

          <2008年3月>
          2425262728291
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          導航

          統計

          常用鏈接

          留言簿(2)

          隨筆分類

          隨筆檔案

          新聞檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 金昌市| 柯坪县| 安顺市| 福海县| 永丰县| 清河县| 尖扎县| 胶南市| 黔东| 瓦房店市| 高要市| 西城区| 井冈山市| 赤水市| 九龙城区| 临城县| 且末县| 湟源县| 渭南市| 常德市| 浏阳市| 阳谷县| 开原市| 景宁| 郑州市| 徐水县| 凤翔县| 嘉鱼县| 汽车| 奉节县| 教育| 合山市| 丹东市| 石渠县| 尚义县| 石楼县| 阿城市| 通许县| 靖西县| 绵阳市| 社旗县|