我有以下关系的麻烦:
@Entity
public class Account {
@OneToMany
private Map<SomeEntity, WrapperEntity> myMap;
// getter, setters, etc.
}
使用 Wrappper 实体:
@Entity
public class WrapperEntity {
@OneToMany
private Set<SomeOtherEntity> otherEntities;
}
当我尝试运行它时,我得到一个 EclipseLink 异常:
Exception [EclipseLink-93] (Eclipse Persistence Services - 2.5.0.v20130507-3faac2b): org.eclipse.persistence.exceptions.DescriptorException
Exception Description: The table [WRAPPERENTITY] is not present in this descriptor.
但是:如果我将关系设为双向并将 a 添加mappedBy
到 Account 类,则项目将运行。这种行为是有意的吗?我忽略了什么吗?
当使用双向关系时,另一个想法对我来说似乎很奇怪:我认为表格是以不完整的方式填充的。该表WrapperEntity
具有列myMap_key
,如果我保存相应的地图条目,则不会在其中存储任何内容。我在 eclipselink 中寻找错误,但找不到类似的东西。