Hibernate---一对多映射与多对一映射
1、一对多映射
1、一对多映射
怎么实现:
1.在数据库中,可以通过添加主外键的关联,表现一对多的关系
2.在java中,通过在一方持有多方的集合实现,即在“一”的一端中使用<set>元素表示持有“多”的一端的对象
在配置文件中配置一对多:
set元素的常用属性
在hibernate.cfg.xml中配置
inverse
inverse属性设置为true的时候代表的是只给某一方进行维护,而不是双方
cascade
cascade属性也是在set标签中的,代表的是级联属性,例子:我们在班级中已经添加了学生,如果我们保存的时候,正常的说,会分别保存班级和学生,有了cascade这个属性,我们就可以只保存班级就好了,学生会自动帮我们保存的,他的属性有四个,all,savae-update,delete,none(默认);
2、多对一映射
多对一的关系,关系数据库中,外键参照关系最匹配,即在己方的表中一个外键参照另一个表的主键.
多方持有一方引用实现,需要在"多"端使用<many-to-one>配置
单向多对一的配置:
1.在多方定义一放的引用private Classes classesget,set方法2.配置映射文件<many-to-one name="classes" class="com.pro.domain.Classes" column="gid"></many-to-one>
3、双向多对一映射
在双方均需配置