!import
-session的缓存的作用
-session清理缓存的时间点
-对象的临时状态,持久化状态和游离状态
-用session的update方法使游离对象转化为持久化对象
session级别的缓存又叫一级缓存;SessionFactory级别的缓存叫做二级缓存。
在hibernate应用中java对象的状态
-临时状态(transient):刚刚用new语句创建,还没有被持久化,不处于Session的缓存中。处于
临时状态的java对象被称为临时对象。
-持久化状态(persistent):已被持久化,加入到Session的缓存中。
处于持久化状态的java被称为持久化对象。
-游离状态(detached):已经被持久化,但不处于Session的缓存中。
处于游离状态的java对象被称为游离对象。
update()最重要的用处是将一个游离对象转变成持久对象。
-把Customer对象重新的加载到Session缓存中,使他变成
持久化对象。
-计划执行一个update语句。值得注意的是:
Session只有在清理缓存的时候才会执行update语句,
并且在执行时才会把Customer对象当前的属性值组装到
update语句分钟。因此,即使程序中多次修改了Customer对象的
属性,在清理缓存时只会执行一次update语句。
客户层与业务逻辑层之间传递临时对象和游离对象的过程