hibernate的持久化对象的状态
2016-11-11 11:10
246 查看
瞬时/临时状态(Transient Objects)
使用new操作符初始化的对象不是立刻就持久化的,他们的状态是瞬时的。
(1) 不处于Session的缓存中,也可以说,不被任何一个Session实例关联。
(2) 在数据库中没有对应的记录。
持久化状态(Persist Objects)
持久实例是任何具有数据库标识的实例。它有持久化管理器Session统一管理,持久实例是在事务中进行操作的———他们的状态在事务结束时同数据库进行同步。
(1) 位于一个Session实例的缓存中,也可以说,持久化对象总是被一个Session实例关联。
(2) 持久化对象和数据库中的相关记录对应。
(3) Session在清理缓存时,会根据持久化对象的属性变化,来同步更新数据库。
离线/游离对象(Detached Objects)
Session关闭之后,持久化对象就变为离线对象。离线表示这个对象不能再与数据库保持同步,他们不再受Hibernate管理。
(1) 不再位于Session的缓存中,也可以说,游离对象不被Session关联。
(2) 游离对象是由持久化对象转变过来的,因此在数据库中可能还存在与它对应的记录
(前提条件是没有其他程序删除了这条记录)。
使用new操作符初始化的对象不是立刻就持久化的,他们的状态是瞬时的。
(1) 不处于Session的缓存中,也可以说,不被任何一个Session实例关联。
(2) 在数据库中没有对应的记录。
持久化状态(Persist Objects)
持久实例是任何具有数据库标识的实例。它有持久化管理器Session统一管理,持久实例是在事务中进行操作的———他们的状态在事务结束时同数据库进行同步。
(1) 位于一个Session实例的缓存中,也可以说,持久化对象总是被一个Session实例关联。
(2) 持久化对象和数据库中的相关记录对应。
(3) Session在清理缓存时,会根据持久化对象的属性变化,来同步更新数据库。
离线/游离对象(Detached Objects)
Session关闭之后,持久化对象就变为离线对象。离线表示这个对象不能再与数据库保持同步,他们不再受Hibernate管理。
(1) 不再位于Session的缓存中,也可以说,游离对象不被Session关联。
(2) 游离对象是由持久化对象转变过来的,因此在数据库中可能还存在与它对应的记录
(前提条件是没有其他程序删除了这条记录)。
相关文章推荐
- Hibernate3---持久化对象的状态
- hibernate常用的接口和持久化对象的状态变化
- Hibernate的三种状态和Hibernate持久化对象的写法
- Hibernate学习笔记 - Hibernate中持久化对象的状态转换规则
- hibernate持久化对象状态
- Hibernate之持久化对象的三种状态
- 1.测试持久化对象的状态:对象,com/bjpowernode/hibernate/User.hbm.xml
- Hibernate持久化对象的三种状态
- hibernate持久化对象的三种状态
- Hibernate持久化对象的三种状态 .
- Hibernate持久化对象的状态
- hibernate持久化对象状态
- Hibernate 持久化对象的状态
- Hibernate持久化对象的三种状态
- 亲,hibernate持久化对象的状态图全面解析!
- Hibernate持久化对象的三种状态
- hibernate持久化对象状态 .
- 学习ORM框架—hibernate(三):跟踪持久化对象状态,掌握对象持久化
- Hibernate持久化对象的三种状态
- 2.测试持久化对象的状态:把hbm转化为DDL,Hibernate连接数据库工具类