嗨,我正在坚持一个带有接口集合(列表)的类。
我在链接 http://www.datanucleus.org/products/accessplatform_2_1/jdo/orm/embedded.html#Collection上看到了这个 ,它说“嵌入式元素不能继承(将来可能允许)”
那么,如何持久化这些对象呢?
嗨,我正在坚持一个带有接口集合(列表)的类。
我在链接 http://www.datanucleus.org/products/accessplatform_2_1/jdo/orm/embedded.html#Collection上看到了这个 ,它说“嵌入式元素不能继承(将来可能允许)”
那么,如何持久化这些对象呢?
几个小时前我遇到了同样的问题,希望它可以帮助其他人从 jdo/datanucleus 开始。
如当前文档中所述,保持接口集合的唯一方法是通过单向连接表。无法直接嵌入实现接口的对象。
@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 {
// ...
}