摘要:项目使用的版本进行开发,里面使用到,而这个版本自带的实现是的版本。这个版本里面的延迟加载是没有问题的,当你设置时,关联的对象在你没有使用的时候,是不会发出的。这个问题,在升级版本后是解决了的。
项目使用springboot的1.5.19版本进行开发,里面使用到JPA,而springboot这个版本自带的JPA实现是Hibernate的5.0.12版本。
这个版本里面的延迟加载是没有问题的,当你设置 fetch = FetchType.LAZY 时,关联的对象在你没有使用的时候,是不会发出sql的。
但升级了springboot的2.1.3后,依赖的Hibernate已经去到5.3.7版本了。这时候延迟加载就失效了,就算只是查询一个字段,也会再发多一条关联对象的SQL出来。
这个问题,在升级Hibernate5.4.2版本后是解决了的。
而对于使用springboot 2.1.3的话,需要先排除掉spring自身加载的Hibernate版本,自己替换成Hibernate5.4.2版本才可以。
不知道有没有人遇到这问题,本人测试,Hibernate5.2.x时候就已经出现了,但好像一直没有修复。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/73953.html
摘要:订单快照,比如我们昨天购买的商品材料,其当时的零售价是元,但今天就变成了元。此时我们在网页上看到的材料价格是元,而我们付款的时候是元。商家是退给我们多少钱呢元,还是元当然,是元,而不是元。这元存储在哪里呢就是订单快照表。 导读 最近见同事在做订单和订单材料快照这方面的业务,这其实就像淘宝上的商品,不过,这里是材料商品了。它一共涉及到 五张表 : 材料表,材料的详细信息 订单表,用户购...
摘要:关联关系的关联关系定义上,感觉并不是很灵活,姿势也比较难找。如,定义在关联关系上的参数可以设置级联的相关东西。因为序列化会涉及到实体类关联对象的获取,会触发所有的关联关系。 接(4) - Database 系列. Java Persistence API,可以理解就是 Java 一个持久化标准或规范,Spring Data JPA 是对它的实现。并且提供多个 JPA 厂商适配,如 Hi...
摘要:非集合属性非集合属性的延迟加载相对比较复杂。仅通过注解是无法实现延迟加载的。但是在一对一关系中,延迟加载是有陷阱的。这样一来,就会立即为配置延迟加载的实体生成一个动态代理类。 Hibernate中,延迟加载针对属性类别可以分为两类,一类是延迟属性加载,另一类是延迟关联实体加载。 属性延迟加载 属性有可以分为两种类型:一种是集合属性,一种是非集合属性(如String、Integer……)...
摘要:说明首先来说是一个持久化规范,也就是说当我们用的时候我们不需要去选面向的编程了,这样就大大降低了偶和度了引入是一种规范,那么它的编程有哪些要求呢引入下载的包导入文件夹,然后我们的在下面加上一个目录在该文件夹下面加上一个文件,这个文件的规范 说明 首先来说JPA是一个持久化规范,也就是说当我们用jpa的时候我们不需要去选面向hibernate的api编程了,这样就大大降低了偶和度了 引入...
阅读 1416·2021-09-22 15:43
阅读 2129·2019-08-30 15:54
阅读 1097·2019-08-30 10:51
阅读 2063·2019-08-29 18:35
阅读 408·2019-08-26 11:58
阅读 2458·2019-08-26 11:38
阅读 2407·2019-08-23 18:35
阅读 3599·2019-08-23 18:33