Hibernate中的get与load有什么区别?
2014-02-25 23:21
218 查看
学校学习版:
1、get是立即加载,load是延迟加载;
2、查询不到数据的时候,get返回null,load抛异常;
3、get默认立即加载(返回非代理对象),load默认是延迟加载(返回代理对象);
4、在hibernate实体映射文件中可修改lazy属性的值来改变load方法的加载方式(lazy=“false”关闭延迟),对get无效;
5、代理对象:只有oid(对象标示符)属性有值,第一次访问非oid属性时会访问数据库加载其他属性,如果此时session已关闭,则会报错。
大神版本:
1、找不到符合条件的数据,get()方法将返回null。load()将会报出ObjectNotFoundEcception。
2、get()方法直接返回实体类。load()方法可以返回实体的代理类实例。
3、get()方法只在内部缓存中进行查找。load()方法可以利用二级缓存和内部缓存的现有数据。
4、get方式马上发出sql。load在默认情况下支持延迟加载(lazy)
1、get是立即加载,load是延迟加载;
2、查询不到数据的时候,get返回null,load抛异常;
3、get默认立即加载(返回非代理对象),load默认是延迟加载(返回代理对象);
4、在hibernate实体映射文件中可修改lazy属性的值来改变load方法的加载方式(lazy=“false”关闭延迟),对get无效;
5、代理对象:只有oid(对象标示符)属性有值,第一次访问非oid属性时会访问数据库加载其他属性,如果此时session已关闭,则会报错。
大神版本:
1、找不到符合条件的数据,get()方法将返回null。load()将会报出ObjectNotFoundEcception。
2、get()方法直接返回实体类。load()方法可以返回实体的代理类实例。
3、get()方法只在内部缓存中进行查找。load()方法可以利用二级缓存和内部缓存的现有数据。
4、get方式马上发出sql。load在默认情况下支持延迟加载(lazy)
相关文章推荐
- 为什么你坚持那么久没有进步?-------做出总结
- Linux core 文件介绍
- 如何设置table单元格平分tr
- linux echo命令的-n、-e两个参数
- <Linux下的摄像头>关于PAL制式与NTSC制式
- 算法导论考试的所有题型整理-----仅限于本学校
- 如何判定php环境是线程安全(TS)还是不安全(NTS)
- "export" in SHELL
- 黑马程序员----day02C#赋值运算符
- C++读写文件笔记
- ----------安卓开发者必备的42个链接
- LINK : fatal error LNK1104: cannot open file "mfcs42ud.lib"
- 视频前景检测(GMM模型)
- 爱川美里菜BEAUTYモデルの绝顶イカセ4时间(1月25日、
- “The project cannot be built until build path errors are resolved” 的解决方法
- UML类图
- JAVA学习笔记——第四章 流程控制
- 【胡诌】区间问题与差分前缀和
- Anmpp(安卓本地ANMPP集成环境)
- linux移植篇二