hibernate 四张表的关联的配置文件

njliuqi 2008-10-09 03:32:12
有四张表,数据类型大概是:
表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
...全文
117 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Dave 2008-10-09
  • 打赏
  • 举报
回复
hibernate有自动的反转,能将表转成对应的映射文件,比较方便。能自动搞定这些复杂的关系,不过有时需要检查下。不应定全部正确。
mhjzqq923 2008-10-09
  • 打赏
  • 举报
回复
帮顶

CRUD 是什么意思啊?

“大概内容就是这个吧,用HIBERNATE能实现吗? ”
你都写好关联配置文件了,生成pojo就可以了

67,538

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧