Hibernate入门实例——Hibernate对象状态(Object states)
来源:互联网 发布:java求最小素数 编辑:程序博客网 时间:2024/06/05 17:13
Hibernate定义并支持下列对象状态(state):
-
瞬时(Transient) - 由new操作符创建,且尚未与Hibernate Session 关联的对象被认定为瞬时(Transient)的。瞬时(Transient)对象不会被持久化到数据库中,也不会被赋予持久化标识(identifier)。 如果程序中没有保持对瞬时(Transient)对象的引用,它会被垃圾回收器(garbage collector)销毁。 使用Hibernate Session可以将其变为持久(Persistent)状态。(Hibernate会自动执行必要的SQL语句)
-
持久(Persistent) - 持久(Persistent)的实例在数据库中有对应的记录,并拥有一个持久化标识(identifier)。 持久(Persistent)的实例可能是刚被保存的,或刚被加载的,无论哪一种,按定义对象都仅在相关联的Session生命周期内的保持这种状态。 Hibernate会检测到处于持久(Persistent)状态的对象的任何改动,在当前操作单元(unit of work)执行完毕时将对象数据(state)与数据库同步(synchronize)。 开发者不需要手动执行UPDATE。将对象从持久(Persistent)状态变成瞬时(Transient)状态同样也不需要手动执行DELETE语句。
-
脱管(Detached) - 与持久(Persistent)对象关联的Session被关闭后,对象就变为脱管(Detached)的。 对脱管(Detached)对象的引用依然有效,对象可继续被修改。脱管(Detached)对象如果重新关联到某个新的Session上, 会再次转变为持久(Persistent)的(Detached其间的改动将被持久化到数据库)。 这个功能使得一种编程模型,即中间会给用户思考时间(user think-time)的长时间运行的操作单元(unit of work)的编程模型成为可能。 我们称之为应用程序事务,即从用户观点看是一个操作单元(unit of work)。
- Hibernate入门实例——Hibernate对象状态(Object states)
- hibernate——对象状态
- Hibernate学习笔记—Hibernate对象的三种状态
- Hibernate入门四(主键生产器和对象状态)
- Hibernate入门16 - 对象状态与识别
- Hibernate入门16 - 对象状态与识别
- 【Hibernate】——对象持久化状态
- Hibernate——持久化对象状态
- Hibernate入门实例——Hibernate分页查询
- 【Hibernate】—Hibernate+mysql 环境搭建+入门实例
- hibernate(三)入门级--hibernate实例
- 【hibernate】hibernate 4 (hibernate对象的三种状态)
- Hibernate入门实例——源代码下载
- hibernate 对象状态异常:object references an unsaved transient instance
- Hibernate入门(二)之hibernate的内部执行过程,主键生成器,对象的状态
- Hibernate——(1)Hibernate入门
- Hibernate——(1)Hibernate入门
- Hibernate入门实例——组件(component)
- 使用结构(C# 编程指南)
- 写在清明(2007年)
- 如何:了解向方法传递结构和向方法传递类引用之间的区别(C# 编程指南)
- KDevelop与libtool的问题
- oracle 分页 存储过程
- Hibernate入门实例——Hibernate对象状态(Object states)
- 为数据提供返回String形式的编程访问,不只是toString()
- Hibernate入门实例——Hibernate分页查询
- ubuntu use step by step
- 《PDF格式套件专业版2010》(PDF Suite Professional Edition 2010)v9.0.41.39278 英文/多语言[压缩包]
- Hibernate入门实例——条件查询(Criteria queries)
- Hibernate入门实例——外置命名查询(Externalizing named queries)
- Hibernate入门实例——使用原生SQL的查询
- 做人好累