0

嗨,我正在坚持一个带有接口集合(列表)的类。

我在链接 http://www.datanucleus.org/products/accessplatform_2_1/jdo/orm/embedded.html#Collection上看到了这个 ,它说“嵌入式元素不能继承(将来可能允许)”

那么,如何持久化这些对象呢?

4

1 回答 1

0

几个小时前我遇到了同样的问题,希望它可以帮助其他人从 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 {
    // ...
}
于 2013-09-12T09:38:22.783 回答