在单向关系中没有mappedBy,因此使用@JoinColumn建立外键关联,建立外键的一端即是主控方,主控方相当于拥有指向另一方的外键的一方。

JoinColumn

  • 一对一和多对一的@JoinColumn注解的都是在“主控方”,都是本表指向外表的外键名称。
  • 一对多的@JoinColumn注解在“被控方”,即一的一方,指的是外表中指向本表的外键名称。一般只有单向关系才在“被控方”中使用@JoinColumn,双向关系使用mappedBy。
  • 多对多中,@JoinColumn写的都是本表在中间表的外键名称,inverseJoinColumns写的是另一个表在中间表的外键名称。

mappedBy

mappedBy用于指定具有双向关系的两个实体中哪个实体是被关联处理的,使用mappedBy的一方是被控制的,另一方是主控方。

特点

  1. 只有OneToOne、OnetoMany、ManyToMany上才可以有mappedBy属性;
  2. 在@OneToMany注解中,mappedBy表示:由One的一方指向Many的一方;mappedBy的值为Many方中定义的One方类型的字段,即主控方中定义的被控方的对象名;
  3. 关系的主控方,即Many方负责维护关系,在主控方用@JoinColumn建立外键;
  4. mappedBy与JoinColumn和JoinTable总是互斥的,不能同时出现在一方;

FetchType.LAZY和FetchType.EAGER区别

  1. FetchType.LAZY:懒加载,加载一个实体时,定义懒加载的属性不会马上从数据库中加载;
  2. FetchType.EAGER:急加载,加载一个实体时,定义急加载的属性会立即从数据库中加载;

JPA mappedBy、JoinColumn、FetchType.LAZY和FetchType.EAGER介绍相关推荐

  1. FetchType.LAZY和FetchType.EAGER什么区别

    1.FetchType.LAZY:懒加载,加载一个实体时,定义懒加载的属性不会马上从数据库中加载.2.FetchType.EAGER:急加载,加载一个实体时,定义急加载的属性会立即从数据库中加载.3. ...

  2. FetchType.LAZY和FetchType.EAGER什么区别?(懒加载和急加载的理解)

    1.FetchType.LAZY:懒加载,加载一个实体时,定义懒加载的属性不会马上从数据库中加载. 2.FetchType.EAGER:急加载,加载一个实体时,定义急加载的属性会立即从数据库中加载. ...

  3. Spring,FetchType.LAZY和FetchType.EAGER什么区别?

    1.FetchType.LAZY:懒加载,加载一个实体时,定义懒加载的属性不会马上从数据库中加载. 2.FetchType.EAGER:急加载,加载一个实体时,定义急加载的属性会立即从数据库中加载. ...

  4. Java Persistence API中的FetchType LAZY和EAGER之间的区别?

    我是Java Persistence API和Hibernate的新手. Java Persistence API中的FetchType.LAZY和FetchType.EAGER什么区别? #1楼 我 ...

  5. 关于JAP FetchType.LAZY(hibernate实现)的理解

    来源:http://www.diwuzhang.com/people-1/article-124/ JPA定义实体之间的关系有如下几种: @OneToOne @ManyToOne @OneToMany ...

  6. Hibernate--fetch=FetchType.LAZY

    @OneToMany(fetch=FetchType.LAZY,cascade=CascadeType.ALL,mappedBy="subject") @JoinColumn(na ...

  7. hibernate 配置@ManyToOne(cascade=CascadeType.ALL,fetch=FetchType.LAZY) 主导方问题删除问题。

    hibernate 配置@ManyToOne(cascade=CascadeType.ALL,fetch=FetchType.LAZY)  ?? 多对一的关系 ,关系有一个主导方.主导方应该是one的 ...

  8. 让Spring 3中jsp的数据对象使用懒加载(FetchType.LAZY)与Controller的JSR 303并存

    本文出处:http://blog.csdn.net/chaijunkun/article/details/9083171,转载请注明.由于本人不定期会整理相关博文,会对相应内容作出完善.因此强烈建议在 ...

  9. fetchtype 动态控制_hibernate 中 fetch=FetchType.LAZY 懒加载失败处理方法

    对这种懒加载问题,最后的做法是利用Spring提供的一个针对Hibernate的一个支持类,其主要意思是在发起一个页面请求时打开Hibernate的Session,一直保持这个Session,使得Hi ...

  10. fetchtype 动态控制_hibernate 关于 注解配置@Basic(fetch=FetchType.LAZY) 不起效果

    intro字段配置成@Basic(fetch=FetchType.LAZY) 但是无论用get还是load方法,intro和其他字段都是一样加载的,和其他字段没有区别啊?配了和没配是一样的? 有没有人 ...

最新文章

  1. python学习笔记(五岁以下儿童)深深浅浅的副本复印件,文件和文件夹
  2. position定位说明
  3. python[进阶] 6.使用一等函数实现设计模式
  4. 阿里云DTS大幅降价,低至400元即可获得实现秒级延迟的数据传输服务
  5. 第一个Ajax.net程序的实现及心得。
  6. python selenium加载插件
  7. 回望iQOO一周年:子品牌战略的成功之路
  8. Nginx——配置负载均衡
  9. python 基础干货 01
  10. 【路面分类】基于matlab灰度共生矩阵图形纹理检测+SVM路面状况分类【含Matlab源码 1519期】
  11. SQL Server数据库入门
  12. 广义线性模型(GLMs)及算法介绍
  13. 【正则表达式】网页上敏感词过滤背后的原理你知道吗?
  14. 局域网内如何把文件夹共享
  15. 如何将BMP文件转换为JPG文件
  16. 杭州市一医院李勇挂号指南
  17. mdobus传输数据为正接收到为负数
  18. 透彻分析微信公众平台三大矛盾
  19. C++ OpenCV特征提取之KAZE和AKAZE的匹配
  20. apicloud模块和html,APICloud模块开发打包

热门文章

  1. mescroll vue使用
  2. 如何使用Flutter开发web应用
  3. 华为防火墙重启_华为USG6000系列防火墙重置密码
  4. jcabanillas/yii2-inspinia-asset composert 安装失败
  5. 何为线性时不变系统!详解
  6. 2021 最新 android studio 阿里 maven 仓库地址 Using insecure protocols with repositories, without explicit op
  7. 自学QT之qss教程
  8. 软件测试周刊(第25期):不要成天到晚地找意义
  9. Caliburn.Micro WPF教程——创建项目
  10. Linux下pgadmin4启动报错,在CentOS 7/Fedora 29系统上安装配置pgAdmin 4的方法