前言:多對多就是一對多的分子,當多對多不能符合完整性限制是,就産生了一對多的關系,需要中間表來完成映射多對多關系
注意配置:
1、多對多配置雙方都是set集合同時指向中間表的字段
代碼:
1、sql語句
create table t_user(
u_id varchar(255),
u_name varchar(255),
u_age integer,
u_price double(5,2),
primary key(u_id)
);
create table t_user_class(
uc_id varchar(255),
uc_classno integer,
uc_funds double(5,2),
uc_back varchar(255),
primary key(uc_id)
create table t_user_reference(
uc_id varchar(255)
2、java類
public class userclass {
private string id;
private integer classno;
private double funds;
private string back;
private set<usert> users=new hashset<usert>();
public class usert implements serializable{
private string id;
public string name;
private integer age;
private double price;
private set<userclass> usercs=new hashset<userclass>();
3、配置檔案
<?xml version="1.0"?>
<!doctype hibernate-mapping public
"-//hibernate/hibernate mapping dtd 3.0//en"
<hibernate-mapping package="com.wolf.pojo.onetoone">
<class name="userclass" table="t_user_class">
<id name="id" column="uc_id"/>
<property name="classno" column="uc_classno"/>
<property name="funds" column="uc_funds"/>
<property name="back" column="uc_back"/>
<set name="users" table="t_user_reference" cascade="all">
<key column="u_id"></key>
<many-to-many class="usert" column="uc_id"></many-to-many>
</set>
</class>
</hibernate-mapping>
<!doctype hibernate-mapping public
"-//hibernate/hibernate mapping dtd 3.0//en"
<hibernate-mapping package="com.wolf.pojo.onetoone" auto-import="false">
<class name="usert" table="t_user">
<id name="id" column="u_id">
</id>
<property name="name" column="u_name"/>
<property name="age" column="u_age"/>
<property name="price" column="u_price"/>
<set name="usercs" table="t_user_reference" cascade="all">
<key column="uc_id"></key>
<many-to-many class="userclass" column="u_id"></many-to-many>
</set>
</class>
</hibernate-mapping>