get和load方法的区别
2018-03-08 22:09
281 查看
(1)get方法直接返回实体类,如果查询不到数据则返回null。
load会返回一个实体代理对象,这个对象可以自动转化为实体对象,如果代理对象被调用时数据不存在则会抛出 org.hibernate.ObjectNotFoundException异常。
(2)get和load都会先到Session缓存(一级缓存)/SessionFactory缓存(二级缓存)中查询,如果查询不到,get会直接去DB中 查询,而load会返回代理对象直到代理对象被调用的时候才会去DB中查询(懒加载,通过修改配置文件可以取消,但注意不要在one的一方取消懒加载否则会发出多条查询语句,大大降低效率),如果确定数据库中有这个对象就用load,不确定用get
load会返回一个实体代理对象,这个对象可以自动转化为实体对象,如果代理对象被调用时数据不存在则会抛出 org.hibernate.ObjectNotFoundException异常。
(2)get和load都会先到Session缓存(一级缓存)/SessionFactory缓存(二级缓存)中查询,如果查询不到,get会直接去DB中 查询,而load会返回代理对象直到代理对象被调用的时候才会去DB中查询(懒加载,通过修改配置文件可以取消,但注意不要在one的一方取消懒加载否则会发出多条查询语句,大大降低效率),如果确定数据库中有这个对象就用load,不确定用get
相关文章推荐
- Hibernate中关于get()和load()方法检索的区别
- hibernate的get和load方法区别
- Hibernate中load方法与get方法的区别
- Java - Hibernate中Session的load和get方法的区别是什么?
- Hibernate的load()、get()、list()、iterator()方法的区别
- Load和get方法的区别
- hibernate get/load方法区别
- Session中load/get方法的详细区别
- hibernate load与get方法的区别
- hibernate的get和load方法区别
- Hibernate中get和load方法的区别
- hibernate get与load方法区别(经典)
- Hibernate中get和load方法的区别
- hibernet中的get和load方法的区别
- Hibernate中get()与load()的区别,以及关于ThreadLocal的使用方法
- hibernate中load和get方法的区别
- hibernate的get、load的方法的区别,IllegalArgument异常
- 7. Load和get方法的区别
- Hibernate之Session的方法get()与load()的区别
- Hibernate中get()和load()方法的区别