您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“hibernate中配置文件工作原理的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“hibernate中配置文件工作原理的示例分析”這篇文章吧。
實體類
一: 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>
以上是“hibernate中配置文件工作原理的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。