现在的位置: 首页 > 综合 > 正文

hibernate get()和load()的区别

2017年12月27日 ⁄ 综合 ⁄ 共 426字 ⁄ 字号 评论关闭

---hibernate get()和load()的区别:
链接:http://blog.csdn.net/itmyhome1990/article/details/7461337

hibernate可通过get()和load()获取对象,而他们又有所不同。
1、如果未能找到符合条件的记录,get()方法返回null(NullPointException异常),而load()将会报ObjectNotFountException
2、load()方法返回实体的代理类,而get()永远只返回实体类
3、load()方法可以充分利用二级缓存和内部缓存的现有数据,而get()方法只在内部缓存中进行查找,如没有发现对应数据将跳过二级缓存,直接sql查询
4、hibernate对于load方法认为该数据在数据库中一定存在,可以放心的使用代理来延迟加载,如果在使用过程中发现了问题,只能抛异常;
而对于get方法 hibernate一定要获取到真实的数据,否则返回null.

抱歉!评论已关闭.