@OneToMany(mappedBy = "order", fetch = FetchType.LAZY, cascade = {CascadeType.REMOVE})
@OrderBy("createDate asc")
public Set<OrderLog> getOrderLogSet() {
return orderLogSet;
}
1、关于mappedBy的含义:
a) 只有OneToOne,OneToMany,ManyToMany上才有mappedBy属性,ManyToOne不存在该属性;
b) mappedBy标签一定是定义在the owned side(被拥有方的),他指向the owning side(拥有方);
c) mappedBy的含义,应该理解为,拥有方能够自动维护跟被拥有方的关系;
当然,如果从被拥有方,通过手工强行来维护拥有方的关系也是可以做到的。
级联一般用在OneToOne和OneToMany上,
这也是hibernate官方的推荐,有时候我们在开发中也用在
ManyToOne,ManyToMany上,
hibernate的关联关系,重点在理解级联cascade和inverse
1、cascade一般用在级联保存,级联更新,级联删除上
ALL,
PERSIST,调用session.persist()时触发
MERGE,调用session.merge()触发
REMOVE,调用session.delete()触发
REFRESH,
DETACH
由于hibernate的关联关系,重点在理解级联cascade和inverse,故补充inverse
inverse,英文意思是反向,反转。在这里可以理解为控制反转,
也就是说实体间的关系由谁控制,
所以inverse用在实体关联上。如OneToOne,OneToMany,ManyToMany
在OneToMany中,如果不指定inverse,那么hibernate会去找默认的表来维持关系。
例如用老师和课程两个实体来说明,假设teacher和course是OneToMany的关系,
配置如下:
//通过外键teacher_id关联teacher,inverse通过mappedBy来设置
@ManyToOne(cascade={CascadeType.MERGE})
@JoinColumn(name = "teacher_id")
private Teacher teacher;
@OneToMany(mappedBy="teacher",fetch=FetchType.LAZY,
cascade={CascadeType.MERGE,CascadeType.REMOVE})
private Set<Course> courses = new HashSet<Course>();
在这里指定teacher的属性courses的关系由关联实体Course的teacher属性维持,
如果不配置,则会去找关联表teacher_course来维持关系。
OneToOne和ManyToMany大同小异
分享到:
相关推荐
hibernate 级联(cascade和inverse)一对多,Jar包,数据库建表语句都好了,只要修改一下,数据库配置文件,就可以使用了,使用junit进行测试。
inverse Hibernate_级联关系说明_-_关于cascade和inverse的用法
Hibernate 一对多、多对一、级联、加载、反转
Hibernate级联操作一对多demo Hibernate级联操作一对多demo Hibernate级联操作一对多demo
Hibernate cascade (级联).docHibernate_cascade(级联).doc
Hibernate的级联操作(增,删,该)
包括t_card主表和t_person从表,实现基于session和hql的hibernate级联增删改查;
Hibernate级联操作.docx
关于Hibernate级联删除的问题.doc
NULL 博文链接:https://hw1287789687.iteye.com/blog/2247386
3.3、Hibernate级联关系(Av839011656,P3).mp4
java excel 生成6级级联。加一个poi.jar就行。
虽然Hibernate不怎么流行了不过有兴趣的可以看看
hibernate many-to-many级联保存,级联更新,级联删除
第七章_Hibernate_-_级联策略 第七章
用hibernate做的省市县三级级联,很具体,包你一看就会,其中包含ajax局部刷新;省市县所有数据台湾省的数据不全面,其他都配好了,只需要你整合一下即可运行。
Ajax+struts+hibernate实现级联菜单 Ajax+struts+hibernate实现级联菜单 Ajax+struts+hibernate实现级联菜单
NULL 博文链接:https://devintan110.iteye.com/blog/849678
JavaProject实现hibernate3.2的级联关系,适合初学者熟悉各种级联关系。一对多,一朵一,多对多。
让你很快学会级联,让你的知识更加丰富起来