您好我正在使用接口集合(List)持久化一个类。
我在链接上看到了这个 http://www.datanucleus.org/products/accessplatform_2_1/jdo/orm/embedded.html#Collection 它说“嵌入式元素不能继承(将来可能允许)”
那么,如何坚持这样的对象呢?
答案 0 :(得分:0)
几个小时前我遇到了同样的问题,希望它能帮助其他人从jdo / datanucleus开始。
正如current docs中所述,持久化接口集合的唯一方法是unidirectional join table。直接嵌入实现接口的对象是不可能的。
@PersistenceCapable
public class SomeClass {
@Join
@Extension(vendorName="datanucleus", key="implementation-classes", value="ImplementingClass")
private List<SomeInterface> myList;
// this list would be embedded
private List<SomeOtherClass> myOtherList;
// ...
}
@PersistenceCapable
public interface SomeInterface {
// ...
}
@PersistenceCapable
public class ImplementingClass implements SomeInterface {
// ...
}
@PersistenceCapable(embeddedOnly="true")
public class SomeOtherClass {
// ...
}