博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Hibernate中的延迟加载
阅读量:4178 次
发布时间:2019-05-26

本文共 613 字,大约阅读时间需要 2 分钟。

Hibernate中,对于已经持久化了的Entity对象,其数据存储在数据库中。

在Hibernate应用中创建一个新对象时,如果该对象引用了另一个Entity对象,那么可以仅仅创建被引用Entity对象的引用,而不实际加载被引用的Entity对象的数据。这也就是Hibernate的延迟加载。

对于Hibernate的Native API,示例如下:

Book book = new Book();book.setId( 1L );book.setIsbn( "123-456-7890" );session.persist( book );book.setAuthor( session.load( Person.class, personId ) );

对于Hibernate的JPA API,示例如下:

Book book = new Book();book.setId( 1L );book.setIsbn( "123-456-7890" );entityManager.persist( book );book.setAuthor( entityManager.getReference( Person.class, personId ) );
虽然创建引用时不必实际加载Entity对象的数据,但是在后续需要访问具体数据时,如果标识符为persionId的Person对象在数据库中不存在,那么将抛出运行时异常。

转载地址:http://yilai.baihongyu.com/

你可能感兴趣的文章
Android 短信模块分析(八) MMS数据库表关系
查看>>
Android 图标上面添加提醒(二)使用开源UI类库 Viewbadger
查看>>
Android 图标上面添加提醒(一)使用Canvas绘制
查看>>
Android WebView加载Html右边空白问题的解决方案
查看>>
Android 仿网易新闻v3.5:上下滑动的引导页
查看>>
Android 天气预报图文字幕垂直滚动效果
查看>>
Android硬件加速
查看>>
智慧平安社区系统开发解决方案,智慧小区大数据分析平台建设
查看>>
NQI国家质量技术基础系统开发,国家质量基础设施平台建设
查看>>
nc命令用法举例
查看>>
Linux vmstat命令详解
查看>>
linux watch命令
查看>>
Linux lsof命令详解
查看>>
C/C++中字符串操作函数strcpy,strcat,strlen等
查看>>
贝壳找房机试题(笔试题)
查看>>
Xerces的下载,编译和在VS 2019中的配置
查看>>
国内快速访问GitHub的方法,亲测有用
查看>>
键盘fn键常亮(一直亮),解决办法
查看>>
Xerces C++实现xml文件解析
查看>>
用户强制一台设备登录,其他设备登出
查看>>