Java 开发 2.0: 使用 Google App Engine
2009-09-09 00:00:00 来源:WEB开发网如清单 3 所示,我的 triathlon JDO 拥有一个由 Google 基础设施管理的键,并且添加了一些标准的方法(toString、hashCode 和 equals),为调试、登录以及适当的功能提供了极大的帮助。我并没有亲自编写这些内容,相反,我使用了 Apache commons-lang 库(见 参考资料)。我还添加了一个构造函数,与调用大量 setter 方法相比,这个构造函数可以更加轻松地创建完全初始化的对象。
我有意维持了 JDO 的简单性,但是正如您所见,并没有包含多少内容(就是说,为了保持简单性,我去掉了所有的关系并忽略了 getter 和 setter 方法)。您只需对域进行建模并随后使用一些注释来修饰模型,然后剩下的工作就由 Google 来完成。
将对象定义为具有持久性后,还剩下最后一个步骤。要与底层的数据存储交互,需要使用 PersistenceManager,这是一个 JDO 标准类,顾名思义,它的作用就是在一个底层数据存储中保存、更新、检索和删除对象(非常类似于 Hibernate 的 Session 对象)。这个类通过一个工厂(PersistenceManagerFactory)创建,这个工厂非常复杂;因此,Google 建议创建一个独立的对象来管理工厂的单个实例(后者在您需要时返回一个合适的 PersistenceManager)。相应地,我可以定义一个简单的独立对象来返回 PersistenceManager 的实例,如清单 4 所示:
清单 4. 返回 PersistenceManager 实例的简单独立对象
import javax.jdo.JDOHelper;
import javax.jdo.PersistenceManager;
import javax.jdo.PersistenceManagerFactory;
public class PersistenceMgr {
private static final PersistenceManagerFactory instance =
JDOHelper.getPersistenceManagerFactory("transactions-optional");
private PersistenceMgr() {}
public static PersistenceManager manufacture() {
return instance.getPersistenceManager();
}
}
更多精彩
赞助商链接