`
//用户和地址是多对多的关系,一个用户对应多个地址
//一个地址对应多个用户
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-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>
`