3

我在 google-app-engine 数据存储中保存预先保存的 JDO 对象时遇到问题。基本上,在一个 servlet 中,我创建对象并保存它。在另一个 servlet 中,我读取了对象,设置了一堆属性并尝试更新它。更新是通过对PersistenceManager的makePersistent调用进行的。没有抛出异常,也没有警告日志。但是,当我稍后访问同一个对象时,它仍然处于原始状态。

PersistenceManager在读取和更新之间永远不会关闭(如Datastore 文档中所建议的)

唯一可能与文档中的示例不同的是,读取是针对列表的,但更新是针对独立对象完成的。文档中没有任何内容不鼓励这样做。这会是个问题吗?

为了完成上下文,我仅在 Eclipse 中尝试此操作,尚未在 AppEngine 中实际尝试过。关于可能发生的事情有什么建议吗?

4

1 回答 1

1

原来问题是PersistenceManager需要在makePersistent调用后关闭。我也试过了,现在可以了。当然,您需要在下次调用 JDO 之前重新打开PersistenceManager 。它以任何一种方式工作 - 无论您是按原样保存列表,还是保存独立对象,通过检索可能已经在列表形式中。

于 2009-09-04T03:27:08.210 回答