正 文

Java数据对象(JDO)快速入门


www.7dspace.com  更新日期:2005-10-9 8:57:38  七度空间


  JDO实例的生命周期

  JDO管理一个对象从创建到删除的生命周期。在它的生命周期,JDO实例不断地转换它的状态,直到最后被Java虚拟机(JVM)作为垃圾回收。状态的转换使用PersistenceManager类的方法完成,包括TransactionManager——例如makePersistent()、makeTransient()、deletePersistent()——和提交或者回滚更改。

  表1显示JDO规范定义的10种状态。前面的七种是必须的,后面的三种是可选的。如果一个实现不支持某些操作,那么就不会获得三种可选的状态。

  表1 JDO生命周期

状态 描述
Transient 任何使用开发者定义的构造函数创建的对象,都不包括持久化环境。一个瞬时实例没有JDO身份。
Persistent-new 被应用程序组件请求的任何对象都变为持久的,通过使用PersistenceManager类的makePersistent()。这样的一个对象将会拥有一个分配的JDO身份。
Persistent-dirty 在当前事务中被改变的持久对象。
Hollow 代表在数据存储中特定数据的持久对象,但是在它的实例中没有包含值。
Persistent-clean 代表在数据存储中的特定事务数据的持久对象,并且它们的数据在当前事务处理中还没有被改变。
Persistent-deleted 代表在数据存储中的特定数据的持久对象,并且在当前事务处理中已经被删除。
Persistent-new-deleted 在同一个事务处理中最近被持久化和删除的持久对象。
Persistent-nontransactional 代表数据存储中的数据的持久对象,当前它们的值已经被装载,但是还没有事务处理一致。
Transient-client 代表一个瞬时事务处理实例的持久对象,它们的数据在当前事务中还没有被改变。
Transient-dirty 代表一个瞬时事务处理实例的持久对象,它们的数据在当前事务中已经被改变。

  图2显示了JDO实例各状态之间的转换。

JDO实例状态转换
图2 JDO实例的状态转换

  本文稍后的代码片断,将示范如何执行我们刚刚讨论的操作。
5页,页码:[1] [2] [3] [4] [5] 

上一篇:在PowerPoint中插入视频的三种方法
下一篇:紫光拼音输入法崩溃之后的解决方案
作者:mydeman编译  来源:J2ME开发网 ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐