1

在 Google App Engine 中,我可以使用 JDO 将 Java 对象持久保存到数据存储中。我是否也可以使用 JDO 将对象转换为byte[],以便可以将其放入 memcache 或通过 HTTP 发送?

澄清:我想序列化我已经为 JDO 持久性注释的类。不得不使用另一种序列化机制似乎不必要地重复了工作,而且还可能很棘手,因为 JDO/DataNucleus 在其类上使用字节码操作来提供延迟加载等特性。

4

2 回答 2

1

看来您可以将 JDO 对象标记为可分离,实现可序列化,然后当您想要缓存它们时,只需调用 detach(),然后正常缓存。我还没有尝试过,但从讨论组来看它似乎有效。

还有一些关于使用 memcache 启用 JDO 2 级缓存的更一般性的讨论。这是否有效尚无定论,但将是一个不错的解决方案。更多信息:http ://groups.google.com/group/google-appengine-java/browse_thread/thread/13cb942ceb97dc/3ab7518edf6a8bc6

于 2010-03-23T16:15:29.283 回答
1

JDO 将对象持久保存到数据存储中。作为其中的一部分,它可以在字段被标记为“序列化”时执行序列化。但这在存储在数据存储中时会被序列化,并在从中检索时被反序列化。如果你想序列化一些东西,为什么不自己做……你为什么需要 JDO 呢?

于 2010-01-05T09:19:02.883 回答