思路就是:
這裡有一個小例子:
多對多的核心表,第三方表。 table:
create table thrid(one_id int not null,two_id int not null,constranit FK_one_id froeign key(one_id) reference one(id_in_one),constraint FK_two_id foreign key(two_id) reference two(id_in_two));
這裡就是將兩個表的主鍵作為了這個第三方的外鍵了。這樣可以方便關係的搭建。
遵守JavaBean的命名規範有無參的構造方法屬性私有,以共有的setter和getter訪問一定一定要記得包含多表中對方的一個集合set。
這個映射文件可謂是Hibernate的核心所在了。注意這個文件要放到和實體類一個目錄下,也就是放到實體包中,這樣會比較好,方便查找和操作。
使用插件生成或者參照模板進行修改。最核心的就是set標籤及內部的many-to-many標籤了,如下:
employees 映射文件配置(多)
<?xml version="1.0"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"> <hibernate-mapping package="cn.itcast.h_hbm_oneToMany"> <class name="Employee" table="employee"> <id name="id"> <generator></generator> </id> <property name="name"></property> <!-- department屬性,Department類型,表示Employee與Department的多對一--> <many-to-one name="department" column="departmentId"></many-to-one> </class></hibernate-mapping>
以及department 映射文件配
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"><hibernate-mapping package="cn.itcast.h_hbm_oneToMany"> <class name="Department" table="department"> <id name="id"> <generator></generator> </id> <property name="name"></property> <!-- employees屬性,Set集合,表達的是Department與Employee的一對多inverse屬性:true表示自己是否放棄維護關聯關係,默認為false。 --> <set name="employees" inverse="true"> <key column="departmentId"></key> <one-to-many/> </set> </class></hibernate-mapping>
配置完以上幾步,我們就可以正常的編寫我們的“DAO”層代碼了,但是由於有了Hibernate的Session這個神器,我們需要做的也就是在DAO層中進行相關的API的調用。這將是非常非常的簡單以及輕鬆的一項任務。
以上就是本文關於hibernate多表操作實例代碼的全部內容,希望對大家有所幫助。感興趣的朋友可以繼續參閱本站其他相關專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!