@Column
private Integer classNum;
// cascade表示级联操作
// CascadeType.MERGE级联更新:若items属性修改了那么order对象保存时同时修改items里的对象。对应EntityManager的merge方法
// CascadeType.PERSIST级联刷新:获取order对象里也同时也重新获取最新的items时的对象。对应EntityManager的refresh(object)方法有效。即会重新查询数据库里的最新数据
// CascadeType.REFRESH级联保存:对order对象保存时也对items里的对象也会保存。对应EntityManager的presist方法
// CascadeType.REMOVE级联删除:对order对象删除也对items里的对象也会删除。对应EntityManager的remove方法
// FetchType.LAZY表示懒加载。对于xxxtoMany时即获得多的一方fetch的默认值是FetchType.LAZY懒加载。对于xxxtoOne时即获得一的一方fetch的默认值是FetchType.EAGER立即加载
// mappedBy="classes"就相当于inverse=true,(mappedBy指定的是不需要维护关系的一端)
//请检查orderItems这个属性是否使用了泛型,如:Set<Student>.
//如果未使用泛型,请在OneToMany注释中使用targetEntity指定元素的类型
@OneToMany(cascade = { CascadeType.ALL}, fetch = FetchType.LAZY ,targetEntity = Student.class,mappedBy="classes")
private Set students= new LinkedHashSet();
@OneToOne
@OneToOne注释指明Person 与IDCard为一对一关系,@OneToOne注释五个属性:targetEntity、cascade、fetch、optional 和mappedBy, fetch属性默认值是FetchType.EAGER。optional = true设置 idcard属性可以为null,也就是允讦没有身份证,未成年人就是没有身份证的。 targetEntity属性:Class类型的属性。定义关系类的类型,默认是该成员属性对应的类类型,所以通常不需要提供定义。 cascade 属性:CascadeType[]类型。该属性定义类和类之间的级联关系。定义的级联关系将被容器视为对当前类对象及其关联类对象采取相同的操作,而且这种关系是递归调用的。cascade的值只能从CascadeType.PERSIST(级联新建)、CascadeType.REMOVE(级联删除)、 CascadeType.REFRESH(级联刷新)、CascadeType.MERGE(级联更新)中选择一个或多个。还有一个选择是使用CascadeType.ALL,表示选择全部四项。 fetch属性:FetchType类型的属性。可选择项包括:FetchType.EAGER 和 FetchType.LAZY。 FetchType.EAGER 表示关系类(本例是OrderItem类)在主类加载的时候同时加载,FetchType.LAZY表示关系类在被访问时才加载。默认值是 FetchType.LAZY。 @OrderBy(value = "id ASC")注释指明加载元组时按id的升序排序(降序 "DESC") @OneToOne(optional = true, cascade = CascadeType.ALL, mappedBy = "person")
分享到:
相关推荐
Hibernate级联操作一对多demo Hibernate级联操作一对多demo Hibernate级联操作一对多demo
Hibernate的级联操作(增,删,该)
Hibernate级联操作.docx
hibernate 的基础 常用的主键生成策略 持久化对象的三种状态 一级缓存的常用操作(save/update/saveOrUpdate/delete)一对多关联映射 级联操作
用Struts2+Spring+Hibernate三大框架完成的级联操作,包括省市县和年月日
Hibernate 与数据库中的触发器协同工作时, 会造成两类问题 1、触发器使 Session 的缓存中的持久化对象与数据库中对应的数据不一致:触发器运行在数据库中, 它执行的操作对 Session 是透明的 Session 的 解决...
struts2 hibernate 实现无限级联 树形分类 基于struts2 hibernate 技术,实现对无限级联分类的crud操作
这个小项目使用jsf+richfaces+hiberante设计,作为学习jsf和hibernate的新手学习参考.里面由基本上有常规项目所需一般功能:比如ajax.分页.hibernate级联操作等等
struts2 spring jpa操作数据库 级联数据 hibernate
Hibernate级联操作对象的关系属性: 映射文件中设置: 1. Cascade a) none b) Save-update 当使用session的api对当前对象进行save,update操作时,对它的关系属性也进行save或者update c) Delete d) All = delete ...
10_传智播客JPA详解_JPA中的一对多双向关联与级联操作.rar
详解Hibernate cascade级联属性的CascadeType的用法 cascade(级联) ...cascade表示级联操作,在hibernate配置注解@OneToOne,@OneToMany,@ManyToMany,@ManyToOne中的属性。 例如: @ManyToOne(c
Struts2+Hibernate写的下拉菜单级联两级分类,不带JRA包,自己下载吧,
Hibernate 练习题 关于一些级联操作的练习题 映射
该项目为一个整合hibernate与struts,利用json对象存放临时数据库数据,连接数据的三级...Struts.xml:主要亮点在配置一个多变级联时防止加载多个表的操作,从而达到解决多表级联操作的时候经常出现的session已关闭的bug
基于Struts 2+Hibernate实现员工管理系统。一个单位有多个部门,每个部门有多名员工,每个员工只属于一...基于该要求,实现员工和部门的管理(包括添加、查询、删除和修改等操作),并且要实现部门与员工之间的级联操作。
详细讲解了hibernate 的多对一xml配置以及curd操作,讲解了级联操作,适合初学者学习
本人在厦门邦初培训时候用的ppt 快速入门文档 内容: 建立一对多的关联关系域模型 建立一对多的参照关系的模型 映射一对多关联关系 通过hibernateAPI级联操作关联对象 其它关系的映射:一对一,多对多
在上一篇的项目基础上,添加了多对多的级联操作,和操作中间表