mappedBy的意思就是“被映射”,即mappedBy这方不用管关联关系,关联关系交给另一方处理

1.规律:凡是双向关联,mapped必设,因为根本都没必要在2个表中都存在一个外键关联,在数据库中只要定义一边就可以了

a) 只有OneToOne,OneToMany,ManyToMany上才有mappedBy属性,ManyToOne不存在该属性;
b) mappedBy标签一定是定义在the owned side(被拥有方的),他指向the owning side(拥有方);
c) mappedBy的含义,应该理解为,拥有方能够自动维护 跟被拥有方的关系;
当然,如果从被拥有方,通过手工强行来维护拥有方的关系也是可以做到的。

d) mappedBy跟JoinColumn/JoinTable总是处于互斥的一方,可以理解为正是由于拥有方的关联被拥有方的字段存在,拥有方才拥有了被 拥有方。mappedBy这方定义的JoinColumn/JoinTable总是失效的,不会建立对应的字段或者表

人跟身份证双向关联

在Person 里面定义的注解:

@OneToOne(cascade={CascadeType.ALL},optional=true)
public IDCard getIdCard() {
return idCard;
}

在IDCard 里面定义的注释:
@OneToOne(cascade=CascadeType.ALL,mappedBy=”idCard” , optional=false)
public Person getPerson() {
return person;
}
多了一个mappedBy这个方法,它表示什么呢?它表示当前所在表和Person的关系是定义在Person里面的idCard这个成员上面的,它表示此表是一对一关系中的从表,也就是关系是在person表里面维护的 ,这一点很重要 . Person表是关系的维护者,owner side,有主导权,它有个外键指向IDCard。
我们也可以让主导权在IDCard上面,也就是让它产生一个指向Person的外键,这也是可以的,但是最好是让Person来维护整个关系,这样更符合我们正常的思维 .

我们也可以看到在Person里面IDCard是注释是optional=true,也就是说一个人是可以没有身份证的,但是一个身份证不可以没有人,所以在IDCard里面注释person的时候,optional就为false了,这样就可以防止一个空的身份证记录进数据库.

hibernate mappedBy属性详解!相关推荐

  1. Hibernate配置属性详解

    http://www.360doc.com/content/12/0228/19/1369263_190362729.shtml 表 3.3.  Hibernate配置属性 属性名 用途 hibern ...

  2. (转)Hibernate的配置详解

    http://blog.csdn.net/yerenyuan_pku/article/details/65041077 在<Hibernate快速入门>一文中,我有讲到Hibernate的 ...

  3. struts2+hibernate+spring配置详解

    #struts2+hibernate+spring配置详解 struts2+hibernate+spring配置详解 哎 ,当初一个人做好难,现在终于弄好了,希望自学这个的能少走些弯路. 以下是自己配 ...

  4. Hibernate Criteria对象详解(条件查询)

    Hibernate Criteria对象详解 2014-9-1 16:21| 发布者: 传智特刊| 查看: 7290| 评论: 0 摘要: Hibernate框架是目前JavaEE软件开发的企业主流框 ...

  5. Hibernate二级缓存详解(转)

    Hibernate二级缓存详解(转) 本文转载 http://www.blogjava.net/supercrsky/articles/238580.html 与Session相对的是,Session ...

  6. tx:method属性详解

    tx:method属性详解 原文链接: https://blog.csdn.net/qq_37272886/article/details/88638575. <tx:advice id=&qu ...

  7. python中文读音ndarray-numpy中的ndarray方法和属性详解

    NumPy数组的维数称为秩(rank),一维数组的秩为1,二维数组的秩为2,以此类推.在NumPy中,每一个线性的数组称为是一个轴(axes),秩其实是描述轴的数量.比如说,二维数组相当于是一个一维数 ...

  8. spring MVC请求处理类注解属性详解

    spring MVC请求处理类注解属性详解

  9. Meta http-equiv属性详解

    Meta http-equiv属性详解 博客分类: Web综合 HTML浏览器IECache搜索引擎  http-equiv顾名思义,相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮 ...

  10. JavaScript Function.arguments 属性详解

    转载自   JavaScript Function.arguments 属性详解 arguments属性是正在执行的函数的内置属性,返回该函数的arguments对象.arguments对象包含了调用 ...

最新文章

  1. Tizen SDK 1.0 Larkspur 安装指南(ubuntu)
  2. 杂篇-从整理文件发起的杂谈[-File-]
  3. asp.net发布网站(转)
  4. 求助matlab分解质因数,Matlab
  5. redis 3.0 cluster 集群 学习之路篇 [3]
  6. php-java-bridge 作用_PHP-Java-Bridge的使用(平安银行支付功能专版)
  7. 信息检索 IR 中的评价指标
  8. 转帖]实现永久保存注册表数据(转自阿冰blog)
  9. 共享文件夹——Window与linux
  10. 匿名邮件爆迅雷看看丑闻
  11. 【问题解决】error: pathspec ‘XXX‘ did not match any file(s) known to git
  12. PEI-NaYF4:Yb/Er上转换发光纳米材料,树状水溶性聚合物,45nm粒径纳米粒
  13. 关于网线水晶头的接法详解(2)
  14. Vue Vant点赞效果
  15. WPF入门教程系列(5)
  16. Qt开发技术:Qt富文本(一)富文本介绍、文档结构
  17. 企业——nginx的图片压缩、https模块、重写规则、盗链
  18. 重天乾 (易經大意 韓長庚)
  19. AngularJS 精妙绝伦的控制器
  20. vue+echarts中国地图+省市级地图(全程教学,你也可以)

热门文章

  1. 【HamonyOS嵌入式】BearPi-HM_Nano控制DS18B20温度传感器(注释版)
  2. 还没来得及买,就已经被淘汰的东西
  3. 纯js代码-实战轮播图
  4. msfconsole攻击ftp_MSFconsole核心命令教程
  5. 贝叶斯公式的理解——机器学习算法(一)
  6. 嘉善 机器人比赛_第十一届省青少年机器人大赛嘉善摆擂
  7. 全国机器人足球锦标赛
  8. 替代亿图的软件-mac,windows都可用
  9. Linux 的shell脚本的分享,运用了多个不同的方法,实现使用脚本批量巡检服务器,非常有借鉴作用...
  10. android 创建线程的三种方式