hibernate 四张表的关联的配置文件
有四张表,数据类型大概是:
表A : a_id(主键);
表B : b_id(主键), a_id(主键), c_f_key(外键,与表C的主键关联), d_f_key(外键,与表D的主键"d_id"关联)
表C : c_id(主键), a_id(主键),
表D(主表) : d_id;
对应关系:
A 1 : n B
A 1 : n C
B n : 1 C
B n : 1 D
举例说明:表A 是项目表, 表B 是项目产品表, 表C 是产品技能表, 表D是产品类型主表
一个项目包含多个产品,
一个项目可以包含多种技能(c++, java, c#....)
每个产品对应一种类型,一种类型可以对应多个产品
每个产品对应一种技能,一种技能可以对应多个产品
四个java 文件是
Class A{
private int a_id;
private Set <B> bSet;
private Set <C> cSet
}
class B{
private String b_id;
private int a_id;
private int c_f_key;
private int d__f_key;
private C c;
private D d;
}
class C{
private int a_id;
private int c_id;
private Set<B> bSet;
}
class D{
private int d_id;
private Set<B> bSet;
}
四个*.hbm.xml配置文件
a.hbm.xml
<class name="A" table="表A">
<id name="a_id" column="a_id">
<generator class="sequence"/>
</id>
<set name="bSet">
<key column="b_id"/>
<one-to-many class="B"/>
</set>
<set name="cSet">
<key column="c_id"/>
<one-to-many class="C"/>
</set>
</class>
b.hbm.xml
<class name="B" table="表B">
<id name="b_id" column="b_id">
<generator class="native"/>
</id>
<many-to-one name="c" column="c_id" class="C"/>
<many-to-one name="d" column="d_id" class="D"/>
</class>
c.hbm.xml
<class name="C" table="表C">
<id name="c_id" column="c_id">
<generator class="native"/>
</id>
<set name="bSet">
<key column="b_id"/>
<one-to-many class="B"/>
</set>
</class>
d.hbm.xml
<class name="D" table="表D">
<id name="d_id" column="d_id">
<generator class="native"/>
</id>
<set name="bSet">
<key column="b_id"/>
<one-to-many class="B"/>
</set>
</class>
大概内容就是这个吧,用HIBERNATE能实现吗?
特别是联合主键,外加级联保存。
我现在是对表B进行CRUD