Hibernate之关系映射OneToOne

OneToOne单向

实体类

one
one 维护关系

映射文件

one
one维护关系

测试add

add

添加成功。

add

上述add:

如果person有对应的卡,再次添加卡的时候违背了unique的关系则会添加出错,

如果person没有对应的卡,则会添加成功。





OneToOne双向:

实体类:

person
IDCard

映射文件:

person
IDCard

测试add

add


add


load

此时会发出一条sql语句。

由于person端没有维护关系,hibernate会自动完成jion操纵,只发出一条sql语句

load

此时会发出三条sql语句。

因为维护关系的那一端会延迟加载。使用维护关系端取数据,在通过延迟加载取关联对象的时候,会同时 再去取原来的关联端,会发三条语句。

最佳实践是:

在one2one的时候,最好不要使用双向关联,

但是如果使用了双相关联,在取数据的时候,最好使用没有关联的那一方。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,825评论 18 399
  • 本文包括:1、一对多结构的准备2、双向关联与单向关联3、级联保存4、级联删除5、cascade 属性——级联6、i...
    廖少少阅读 1,245评论 1 6
  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 5,796评论 0 4
  • 这部分主要是开源Java EE框架方面的内容,包括Hibernate、MyBatis、Spring、Spring ...
    杂货铺老板阅读 1,469评论 0 2
  • 成颖怡她今早发信息过来跟我说:我见你甘勤力写公众号,我有点想重拾翻自己写公众号的想法。你应该是做了一次好好的榜样。...
    AlexWong樣阅读 355评论 0 0