2013-02-01 73 views

回答

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 { 
    // ... 
} 
相关问题