国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

hibernate中配置文件工作原理的示例分析

發(fā)布時(shí)間:2021-09-27 17:43 來(lái)源:億速云 閱讀:0 作者:小新 欄目: Mysql 歡迎投稿:712375056

這篇文章主要為大家展示了“hibernate中配置文件工作原理的示例分析”,內容簡(jiǎn)而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習一下“hibernate中配置文件工作原理的示例分析”這篇文章吧。

一對多

實(shí)體類(lèi)

一: private Set<LinkMan> linkMans; // 表達一對多關(guān)系
多: private Customer customer ; //表達多對一關(guān)系

配置文件

一:

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

多:

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

多對多

實(shí)體類(lèi)

多:private Set<User> users; // 表達多對多關(guān)系
多:private Set<Role> roles; // 表達多對多關(guān)系

配置文件
 多:

    <!-- 多對多關(guān)系表達 -->
    <!-- 
        name: 集合屬性名
        table: 配置中間表名
        key
         column: 外鍵,別人引用"我"的外鍵列名
        many-to-many
         class:   我與哪個(gè)類(lèi)是多對多關(guān)系
         column:  外鍵.我引用別人的外鍵列名
     -->
    <!-- 使用inverse屬性
        true: 放棄維護外鍵關(guān)系
        false(默認值):維護關(guān)系
        
    結論: 將來(lái)在開(kāi)發(fā)中,如果遇到多對多關(guān)系.一定要選擇一方放棄維護關(guān)系.
         一般誰(shuí)來(lái)放棄要看業(yè)務(wù)方向. 例如錄入員工時(shí),需要為員工指定所屬角色.
         那么業(yè)務(wù)方向就是由員工維護角色. 角色不需要維護與員工關(guān)系.角色放棄維護
     -->        
    <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>

多:

    <!-- 多對多關(guān)系表達 -->
    <!-- 
        name: 集合屬性名
        table: 配置中間表名
        key
         column: 外鍵,別人引用"我"的外鍵列名
        many-to-many
         class:   我與哪個(gè)類(lèi)是多對多關(guān)系
         column:  外鍵.我引用別人的外鍵列名
     -->
     <!-- cascade級聯(lián)操作:
                 save-update:  級聯(lián)保存更新
                 delete:       級聯(lián)刪除
                 all:          級聯(lián)保存更新+級聯(lián)刪除
         結論: cascade簡(jiǎn)化代碼書(shū)寫(xiě).該屬性使不使用無(wú)所謂. 建議要用只用save-update.
              如果使用delete操作太過(guò)危險.尤其在多對多中.不建議使用.
     -->
    <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>

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

国产成人无码久久久精品一| 在线永久免费观看黄网站| 成人午夜精品网站在线观看| 久久国产精品无码一区二区三区| 欧洲无码一区二区三区在线观看| 日本中文字幕有码在线视频|