使用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接口以某种方式驱动。
答案 0 :(得分:0)
默认情况下禁用ObjectDB中的序列化,以鼓励使用JPA / JDO可持久类型(实体类,具有持久性的类,可嵌入类),这些类型在可能的情况下更有效。
但是,当需要序列化时,您可以启用它,如ObjectDB manual。
中所述然后您应该能够在ObjectDB数据库中存储可序列化实例的实例。