Hibernate经验总结之load VS get
来源:互联网 发布:youtube看不了视频知乎 编辑:程序博客网 时间:2024/06/10 08:27
相同点:这两个方法都是通过指定的实体类与ID 从数据库中读取数据,并返回对应的实例。
不同点:如果数据库中没有对应的记录,get()方法将返回null,而load()则会报ObjectNotFoundException(注意只在使用除ID以外的其他属性时才抛异常)。
根本区别:如果使用load方法,hibernate认为该id对应的对象(数据库记录)在数据库中是一定存在的,所以它可以放心的使用,它可以放心的使用代理来延迟加载该对象。在用到对象中的其他属性数据时才查询数据库,但是万一数据库中不存在该记录,只能抛异常。对于get方法,hibernate会确认一下该id对应的数据是否存在,首先在session缓存中查找,然后在二级缓存中查找,还没有就查数据库,数据库中没有就直接返回null。
个人观点:使用get()相对来说比较安全。
例子:
- Hibernate经验总结之load VS get
- Hibernate之get()和load()
- Hibernate之get()和load()
- Hibernate中Session.get()/load()之区别
- Hibernate之get和load的区别
- Hibernate中Session.get()/load()之区别
- Hibernate基础之load()与get()
- Hibernate学习之get和load区别
- 力所能及之Hibernate中get(),load()区别
- Hibernate之load和get的区别
- Hibernate之get和load的区别
- What is the advantage of load() vs get() in Hibernate?
- hibernate get() load() 区别
- hibernate get() load() 区别
- Hibernate中 get()&&load()
- hibernate load and get
- Hibernate load get
- hibernate get()和load()
- 字符数组VS字符指针
- 下载NetBeans,赢取iPod
- 搜索引擎Nutch 0.7.2 试用笔记
- ADO访问数据库整理
- MS 的Surface
- Hibernate经验总结之load VS get
- Symbian开发笔记(一)
- RIA 和 AJAX,选择最合适的产品
- 如何在Struts中使用Ajax
- 目前三个主流的开源ESB项目简介
- Spring Framework的公司Interface21的公司理念-推荐
- MySQL 5.0.16 乱码问题处理办法
- Multi Agent System学习笔记
- 我们的企业比日本少了什么