如何通过Hibernate/JPA的字节码增强进行属性延迟加载?

栏目: Hibernate · 发布时间: 5年前

内容简介:默认情况下,Hibernate/JPA实体的属性是急切加载的(一次性全部加载)。你确定这是想要的吗?如果不是,那么重要的是要知道可以通过Hibernate字节码检测来延迟加载属性(另一种方法是通过子实体)。这对于存储大量数据的列类型有用:CLOB,BLOB,VARBINARY,等。关键点:

默认情况下,Hibernate/JPA实体的属性是急切加载的(一次性全部加载)。你确定这是想要的吗?

如果不是,那么重要的是要知道可以通过Hibernate字节码检测来延迟加载属性(另一种方法是通过子实体)。这对于存储大量数据的列类型有用:CLOB,BLOB,VARBINARY,等。

关键点:

  • 对于Maven,在pom.xml,激活Hibernate字节码检测(例如,如下使用Maven字节码增强插件)
  • 标记应该延迟加载的列 @Basic(fetch = FetchType.LAZY)

实现案例:

  • 创建一个新用户: localhost:8080/new
  • 获取没有头像的用户(这是图片javax.persistence.Lob- 因此,大量数据:localhost:8080/user
  • 使用头像获取用户(懒惰加载): localhost:8080/avatar

源代码可以在 这里 找到  。


以上所述就是小编给大家介绍的《如何通过Hibernate/JPA的字节码增强进行属性延迟加载?》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

人工智能

人工智能

李开复、王咏刚 / 文化发展出版社 / 2017-5-10 / CNY 55.00

人工智能已经来了,它就在我们身边,几乎无处不在。 人工智能技术正在彻底改变人类的认知,重建人机相互协作的关系。史无前例的自动驾驶正在重构我们头脑中的出行地图和人类生活图景,今天的人工智能技术也正在翻译、写作、绘画等人文和艺术领域进行大胆的尝试。 我们真的知道什么是人工智能吗? 我们真的准备好与人工智能共同发展了吗? 我们该如何在心理上将人和机器摆在正确的位置? 我们该......一起来看看 《人工智能》 这本书的介绍吧!

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具