hibernate中通过get() 和 load() 方法获取持久化对象
来源:互联网 发布:管家婆数据库 编辑:程序博客网 时间:2024/06/10 03:03
get()方法:(经常使用的是get)
public Object get(Class className,Serializable id)
className: 数据库表所对应的那个类的简单类名,(用于反射封装查询数据使用)
id : 是要查询对象的主键值,(通常为 int 、long、 short 类型)
执行过程:
首先通过 id 在 Session 缓存中查找,若存在对应的对象,直接返回;
若Session 缓存中没有,则进入二级缓存中查找,找到就返回;
若二级缓存也没有,则通过 id 在数据库中查询此 id 对应的对象
load()方法:(了解)
和 get()一样都是通过 主键值从数据库中加载一个持久化对象。
区别:
在获取持久化对象时:
1.
若 对象存在:则get() 和 load() 方法没有区别都可以获取到已经初始化的对象
若对象不存在:get()方法返回null。load()方法 抛出一个异常,使用load()方法时,
要确认主键一定存在。
2.延迟加载:
get()使用立即加载的方式发送 SQL 语句,并得到已初始化的对象;
load() 方法不发送 SQL 语句,返回一个代理对象,代理对象会在被访问使用时才初始化对象。
0 0
- hibernate中通过get() 和 load() 方法获取持久化对象
- hibernate中使用session对象获得持久化对象get和load方法的区别
- hibernate的持久化对象的状态,n+1问题和load和get方法区别
- hibernate持久化方法get和load的区别
- hibernate加载持久化实例load和get方法区别
- Hibernate中load和get方法区别
- Hibernate中load和get方法区别
- Hibernate中get和load方法
- Hibernate Session对象load()方法和get()方法区别
- Hibernate Session对象load()方法和get()方法区别?
- Hibernate Session对象load()方法和get()方法区别
- hibernate中get方法和load方法区别
- hibernate中get方法和load方法的区别
- hibernate中get方法和load方法区别
- Hibernate中get方法和load方法的区别
- hibernate中get方法和load方法的根本区别
- hibernate中get方法和load方法的根本区别
- hibernate中get方法和load方法的根本区别
- android开发学习笔记系列(2)-android应用界面编程
- 静态内部类、静态变量的加载次数-理解静态内部类实现线程安全的单例模式
- Unique Paths &&Unique Paths II
- 错排
- error LNK2001: 无法解析的外部符号 "class cocos2d::Vec2 const cocos2d::CCPointZero" (?CCPointZero@cocos2d@@3VV
- hibernate中通过get() 和 load() 方法获取持久化对象
- Hashmap简介
- 附上STM32F407 定时器四路PWM代码
- zoj 1005 Jugs
- JavaFX8初探(分页控件)
- Hello World
- java.lang.NoClassDefFoundError:org/hamcrest/SelfDescribing
- PAT A1010 Radix (有点问题)
- 服务器上生成和获取xml