JPA中一对多和多对一双向关系中,多的一方为关系维护端 。有mappedBy的一方为关系被维护端。
关系维护端负责外键纪录的更新 ,关系被维护端是没有权力更新外键纪录的。只能通过关系维护端设置与关系被维护端的关系。
一对多:
@OneToMany(cascade = { CascadeType.PERSIST, CascadeType.REFRESH,
CascadeType.MERGE, CascadeType.REMOVE, CascadeType.ALL }, fetch = FetchType.EAGER, mappedBy = "order")
cascade:设置级联操作,对JPQL语句进行的操作没有任何影响
CascadeType.PERSIST
CascadeType.REFRESH
CascadeType.MERGE
CascadeType.REMOVE
CascadeType.ALL对应实体管理器的以上方法:persist()、refresh()、merge()、remove()方法
fetch:设置是否延迟加载,FetchType.LZAY为延迟加载, FetchType.EAGER时立即加载。
多对一:
@ManyToOne(cascade = { CascadeType.MERGE, CascadeType.REFRESH }, optional = false)
@JoinColumn(name = "order_id")
optional:代表外键字段是否可以为空。true可以为空,false不可以为空。
@JoinColumn(name = "order_id"):设置关联外键字段的名称。
以上为转载
在应用中发现:
不论是一对多,还是多对多,在mappedBy 端为被维护端,不能更新外键。
缓存慎重使用,在没有搞清楚原理之前。最好不使用缓存。
.
分享到:
相关推荐
NULL 博文链接:https://mixo44.iteye.com/blog/1797079
全国第二手JPA笔记。大家赶快下载。
传智博客的,很经典!jpa学习人员的必备资料,个人觉得很好。强烈推荐
JPA 的全称是 Java Persistence API, 即 Java 持久化 API,是 SUN 公司推出的一套基于 ORM 的规范,内部是由一系列的接口和抽象类构成。JPA 的查询语言是面向对象而非面向... 本文档包含了JPA的课件笔记与学习标注。
spring data JPA笔记资料,数据库技术
JPA学习笔记
jpa 详解 学习笔记 传智播客 内容经典
综合多家视频,超全面综合笔记!Spring Data Jpa 学习
JPA入门学习笔记,包含实体表的关联映射
本文是学习 JPA 笔记,可能会根据自己的学习进度逐渐完善。学习中使用的持久层技术 是 EJB,JPA 注解方式,底层应用的是 Hibernate 实现和 MySql 数据库,应用服务器采 用的是 JBoss 4.2.0。随着笔者的学习笔记,...
java jee技术,jpa的使用接受学习笔记。
JPA学习笔记-EJB-04JPA关联映射总结 JPA JPA关联映射JPA学习笔记-EJB-04JPA关联映射总结 JPA JPA关联映射
传智播客——JPA学习笔记 网络上有一份pdf格式的《JPA学习笔记》,但是内容排版有点乱,而且有缺失的部分,小弟从原来的blog处拷贝出来,并加以排版,制作成了chm格式的,大家应该知道chm格式比较适合作为参考资料或...
jpa入门级教程,有jpa基础,环境搭建,常用注解,jpa映射,以及jpql介绍和常见异常.
这里面的太贵了,来个免费的. 这是一个很不错的笔记哦
spring jpa教程,学习jpa必备,包括命名函数,以及各种jpa技巧
在学习JPA的过程中将JPA的核心的内容整理了一下做成一份JPA学习笔记希望能够帮助到其他正在学习或者将要学习JPA的朋友。
总结一下关于JPA的主键生成策略,JPA是用@GeneratedValue标记来注释的。一般的我把主键生成分成两大类。第一个就是简单的单字段主键类型,一个就是复杂的复合主键类型。我们分2种情况分别讨论。 第一种单字段主键...
JPA学习笔记-EJB-06JPA+Spring使用经验。