第三章:JDO技术框架
下图描述了JDO框架各基本组件之间的关系。
JDOHelper.javax.jdo.JDOHelper包含了一些静态的辅助方法。这些方法用于查询持久性对象的生存期和以厂商无关的方式创建PersistenceManagerFactory的实例。
PersistenceManagerFactory .javax.jdo.PersistenceManagerFactory是PersistenceManagers的工厂。
PersistenceManager.javax.jdo.PersistenceManager是应用程序使用的主要接口。每个PersistenceManager管理一堆持久性对象,并且提供API函数用于新对象的持久化和删除已存在的持久对象。PersistenceManager 和事务之间是一对一的关系。并且对Extent 和Query 两者的实例来说,PersistenceManager 是他们的工厂。
PersistenceCapable. 自定义的可持久化类必须实现javax.jdo.spi.PersistenceCapable接口。多数JDO的实现品会提供一个增强者,透明地为每个可持久化类增加实现接口的代码。你不需要直接使用这个接口。
Transaction.每个PersistenceManager 和 Transaction 之间均存在一对一对应关系。事务允许持久性数据的多种操作归组,这组操作要么一起成功,要么一起失败。对维护数据的完整性来说,这种操作是很重要的。
Extent.javax.jdo.Extent是存储在数据里的某个类所有对象的逻辑视图。通过配置,Extent可以包含子类。Extent可以从PersistenceManager中得到。
Query.javax.jdo.Query该接口由具体的JDO提供厂商实现,把查询表达式转化为JAVA 数据对象查询语言(JDOQL),JDOQL基于JAVA布尔表达式,转化为本地数据库的查询语言。可以从PersistenceManager得到查询实例。
余下文档详细介绍了JDO的接口。我们按照你开发程序时所使用的顺序来列出。
3.1. JDO 异常
下图描述了JDO异常及其之间的关系。JDO会抛出自己的异常,运行时异常并不在内。