0

App Engine 文档中使用 JDO 的基本示例非常简单:

PersistenceManager pm = PMF.get().getPersistenceManager();

Employee e = new Employee("Alfred", "Smith", new Date());

try {
    pm.makePersistent(e);
} finally {
    pm.close();
}

但在我看来,每次我想访问存储时获取和关闭持久性管理器有点烦人,有很多冗余代码。那么你会建议什么来避免这种情况呢?

例如,我遇到了一个解决方案,它建议将 PM 放入过滤器并将其附加到过滤器中,request这样我就可以直接从任何 servlet 访问它。PM 也会被过滤器自动关闭。你怎么看?

4

2 回答 2

1
  1. 在 DAO 层中执行此操作,您可以将样板代码排除在业务逻辑之外
  2. 真的有那么大吗?我的意思是,打字并不是编程的难点:)
  3. 我个人不会使用 JDO。Objectify 更容易,因为它是专为 appengine 设计的
于 2012-06-20T02:41:17.307 回答
0

将 PM 放入过滤器并在工作完成后关闭该 PM(doFilter 中的 finally 子句)是一个好方法。如果将来您要迁移到 JPA,这可以使代码保持干净、易于维护且易于更改

于 2013-10-01T09:53:19.993 回答