六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

hibernate的設置文件工作原理與2種設計:一對多、多對多

[摘要]"一對多"是最普遍的映射關系,簡單來講就如消費者與訂單的關系。一對多:從消費者角的度來說一個消費者可以有多個訂單,即為一對多。多對一:從訂單的角度來說多個訂單可以對應一個消費者,...
"一對多"是最普遍的映射關系,簡單來講就如消費者與訂單的關系。一對多:從消費者角的度來說一個消費者可以有多個訂單,即為一對多。多對一:從訂單的角度來說多個訂單可以對應一個消費者,即為多對一。個人簡單的一點小結 。

一對多

實體類

一: private Set<LinkMan> linkMans; // 表達一對多關系
多: private Customer customer ; //表達多對一關系

配置文件

一:

    <!-- 集合,一對多關系,在配置文件中配置 -->
    <!-- 
        name屬性:   集合屬性名
        column屬性: 外鍵列名
        class屬性:  與我關聯的對象完整類名
     -->
     <!-- 
         級聯操作: cascade屬性
             save-update: 級聯保存更新
             delete:      級聯刪除
             all:         save-update+delete
         級聯操作: 簡化操作.目的就是為了少些兩行代碼.
      -->
      <!-- inverse屬性: 配置關系是否維護. 
                 true:          customer不維護關系
                 false(默認值): customer維護關系
          inverse屬性: 性能優化.提高關系維護的性能.
          原則: 無論怎么放棄,總有一方必須要維護關系.
          一對多關系中: 一的一方放棄.也只能一的一方放棄.多的一方不能放棄.
      -->
    <set name="linkMens" inverse="true" cascade="delete">
        <key column="lkm_cust_id" ></key>
        <one-to-many class="LinkMan" />
    </set>

多:

    <!-- 多對一 -->
    <!-- 
        name屬性:   引用屬性名
        column屬性: 外鍵列名
        class屬性:  與我關聯的對象完整類名
     -->
     <!-- 
         級聯操作: cascade屬性
             save-update: 級聯保存更新
             delete:      級聯刪除
             all:         save-update+delete
         級聯操作: 簡化操作.目的就是為了少些兩行代碼.
      -->
      <!-- 多的一方: 不能放棄維護關系的.外鍵字段就在多的一方.  -->
    <many-to-one name="customer" column="lkm_cust_id" class="Customer"></many-to-one>

多對多

實體類

多:private Set<User> users; // 表達多對多關系
多:private Set<Role> roles; // 表達多對多關系

配置文件
多:

    <!-- 多對多關系表達 -->
    <!-- 
        name: 集合屬性名
        table: 配置中間表名
        key
         column: 外鍵,別人引用"我"的外鍵列名
        many-to-many
         class:   我與哪個類是多對多關系
         column:  外鍵.我引用別人的外鍵列名
     -->
    <!-- 使用inverse屬性
        true: 放棄維護外鍵關系
        false(默認值):維護關系
        
    結論: 將來在開發中,如果遇到多對多關系.一定要選擇一方放棄維護關系.
         一般誰來放棄要看業務方向. 例如錄入員工時,需要為員工指定所屬角色.
         那么業務方向就是由員工維護角色. 角色不需要維護與員工關系.角色放棄維護
     -->        
    <set name="users" table="sys_user_role" inverse="true" >
        <key column="role_id" ></key>
        <many-to-many class="User" column="user_id" ></many-to-many>
    </set>

多:

    <!-- 多對多關系表達 -->
    <!-- 
        name: 集合屬性名
        table: 配置中間表名
        key
         column: 外鍵,別人引用"我"的外鍵列名
        many-to-many
         class:   我與哪個類是多對多關系
         column:  外鍵.我引用別人的外鍵列名
     -->
     <!-- cascade級聯操作:
                 save-update:  級聯保存更新
                 delete:       級聯刪除
                 all:          級聯保存更新+級聯刪除
         結論: cascade簡化代碼書寫.該屬性使不使用無所謂. 建議要用只用save-update.
              如果使用delete操作太過危險.尤其在多對多中.不建議使用.
     -->
    <set name="roles" table="sys_user_role" cascade="save-update" >
        <key column="user_id" ></key>
        <many-to-many class="Role" column="role_id" ></many-to-many>
    </set>

相關推薦:

數據庫設計多對多關系的幾種形態_MySQL

MySQL多實例的配置和管理詳細

以上就是hibernate的配置文件工作原理和兩種設計:一對多、多對多的詳細內容,更多請關注php中文網其它相關文章!


學習教程快速掌握從入門到精通的SQL知識。




主站蜘蛛池模板: 亚州久久 | 四虎影院在线网址 | 亚洲国产午夜 | 日韩中文字幕免费观看 | 天天看片天天a免费观看 | 色综合久久久久久888 | 欧美又硬又粗又长又大 | 亚洲第一区精品日韩在线播放 | 天天添天天射 | 欧美亚洲人成网站在线观看刚交 | 碰91精品国产91久久婷婷 | 午夜精品久久久久久毛片 | 在线 色 | 五月激情站 | 青青视频免费在线 | 亚洲精品在线第一页 | 亚洲成a人片在线看 | 天天干天天色天天干 | 亚洲色啦啦狠狠网站 | 四虎永久在线观看免费网站网址 | 五月天婷婷在线视频国产在线 | 天使萌一区二区三区免费观看 | 欧美一区亚洲 | 色综合久久久 | 亚欧乱色精品免费观看 | 日韩丝袜亚洲国产欧美一区 | 日韩在线视频在线观看 | 四虎网站在线播放 | 性福利影院 | 日本免费一区二区三区看片 | 色五月激情五月 | 天天干在线播放 | 日日夜干| 日韩一区二三区无 | 色婷婷久久综合中文久久蜜桃 | 青青草原成年网站免费观看 | 人人澡人人爱 | 四虎在线网址 | 在线观看精品视频一区二区 | 亚洲成a人v欧美综合天堂软件 | 天天色综合三 |