hibernate多對多的關係映射配置

`app

//用戶和地址是多對多的關係,一個用戶對應多個地址
    //一個地址對應多個用戶
   public class User {
   private int id;

   private String name;

   private double money;

   private int count ;

//用戶對應多個地址
   private Set<Address> address;

get/set
....
}

public class Address {
private int id;
private String ip;
private String name;
//地址對應多個用戶
private Set<User> user;
    
    get/set
....
    
}

xml文件配置內容hibernate

<hibernate-mapping package="org.com.core.pojo">

	<class name="User" table="saber">
		<id name="id" column="id">
			<generator class="native"/>
		</id>
		<property name="name"  />
		<property name="money" type="double"/>
		<!-- 
		cascade 級聯操做 all表示因此操做都跟關聯表一塊兒
		inverse 表示關係控制權交給哪一個管理,這裏表示交個從表來管理
		配置多的一面的時候要使用set,key是指定外鍵名的
		  -->
		<set name="address" inverse="true" cascade="all">
			<key column="u_id"/>
			<many-to-many class="Address" column="a_id"/>
		</set>
		
	</class>

<!-- 指定實體類的表 -->
	<class name="Address" table="t_sys_address">
	<!--  配置表的屬性 -->
		<id name="id" column="id">
		<generator class="native"></generator>
		</id>
		<property name="ip" />
		<property name="name"/>
		
    <!-- table 指定多對多的中間表,從表必需要有table,主表可有可沒有-->
		<set name="user" table="user_join_address">
			<key column="a_id"/>
			<many-to-many class="User" column="u_id"/>
		</set>
	
	</class>

</hibernate-mapping>

`code

相關文章
相關標籤/搜索