一本正经教你配置Hibernate框架下的.hbm.xml文件的映射关系

关于属性之间的相互映射(一对多,多对一,多对多)的解决

前提是所有的类和配置文件都在一个包下(一般为domain包)


class Subject{   class Teacher{    class Student{  

...          ...         ...

Teacher tea;    Subject sub;      Teacher tea; 

...         Student stu ;

           ...            ...

}           }           } 


1.一对多:(一门学科对应多名教师)

Subject.hbm.xml:

...

<set name = "该文件名所对应类中“多”的属性"(此处即为tea)>

<key column="外键名(一般为属性+Id)" />

<one-to-many class="name中的属性对应的类名(此处即为Teacher)" />

</set>

...

2.多对一:(多名教师对应一门学科)

Teacher.hbm.xml

...

<many-to-one name = "该文件名所对应类中“多”的属性(此处即为sub)" class="name中的属性对应的类名(此处即为Subject)" column="外键名(一般为属性+Id)" />

...

注意:蓝色字的地方的两个名字必须要完全一致。


3.多对多:(多名教师与多名学生对应)(有一点麻烦)

Student.hbm.xml

...

<set name="类Student中所对应的属性(即为tea)"  table="中间表(table_tea_stu)">

<key column="外键名(一般为属性+Id)" />

<many-to-many class="类Student中所对应的属性所对应的类(即为Teacher)"

column="外键名(一般为属性+Id)" />

</set>

...


Teacher.hbm.xml

...

<set name="类Teacher中所对应的属性(即为stu)"table="中间表(table_tea_stu)">

<key column="外键名(一般为属性+Id)" />

<many-to-many class="类Techer中所对应的属性所对应的类(即为Student)"

column="外键名(一般为属性+Id)" />

</set>

...

在多对多的情况下产生两组外键,两种颜色的外键名要一一对应完全一致才能确保映射成功。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值