0

使用 ObjectDB [ObjectDB 2.4.1] javax.jdo.JDOUserException 尝试存储非持久类型 com.A 的实例

@PersistenceCapable
public abstract class B
{
...
@Embedded
protected com.A a = new A();

}

不幸的是,我们多年来一直在使用库中的 A 类,并且不再有可用的源代码,我无法在 com.A.java 上放置 PersistenceCapable 注释。我能做些什么?

编辑

我认为答案是为 A 类添加 package.jdo。但我仍然不明白为什么 JDO 让我为我想要保留的每个类添加注释或在 .jdo 文件中创建一个条目。我希望这可以通过 Serializable 接口以某种方式驱动。

4

1 回答 1

0

默认情况下禁用 ObjectDB 中的序列化,以鼓励尽可能使用更高效的 JPA/JDO 可持久类型(实体类、具有持久性的类、可嵌入类)。

但是,当需要序列化时,您可以启用它,如ObjectDB 手册中所述。

然后您应该能够在您的 ObjectDB 数据库中存储可序列化实例的实例。

于 2013-02-26T14:42:29.403 回答