我目前正在尝试实现与jointable中的数据的多个关系。 我在跟踪 this approach 使用EclipseLink JPA框架。 但我有以下例外:
Org.Eclipse .持久性.Exist.EntInMauleSertUpExtExist.预部署失败(EnTyMaultServUpExtExist.java:210) …23个以上 原因:异常[EclipseLink-7298](Eclipse持久性服务-2.1.1.v2100817-r8050):org.eclipse.persistence.exceptions.validationexception 异常描述:来自嵌入ID类[class de.kapieren.mbm.server.model.usergrouppk]的映射[group]对于此类是无效的映射。与源[class de.kapieren.mbm.server.model.groupmembership]中的嵌入ID规范(属性[pk]一起使用的可嵌入类只能包含基本映射。删除非基本映射或更改要嵌入的源上的嵌入ID规范
有人知道嵌入映射关系中的基本映射的含义吗? 这里可能有什么问题?
EclipseLink抱怨使用了 Basic 映射(例如a ManyToOne )在一个 Embeddable 用作主键的类(即用 EmbeddedId )
Basic
ManyToOne
Embeddable
EmbeddedId
根据JPA2.0规范,这确实不受支持:
11.1.15嵌入注释 这个 嵌入的 注释已应用 到的持久字段或属性 实体类或映射的超类 表示复合主键 是可嵌入类。可嵌入的 类必须注释为 可嵌入 . 关系映射 在嵌入的ID类中定义 不受支持 。
这个 嵌入的 注释已应用 到的持久字段或属性 实体类或映射的超类 表示复合主键 是可嵌入类。可嵌入的 类必须注释为 可嵌入 . 关系映射 在嵌入的ID类中定义 不受支持 。
嵌入的
可嵌入
如果我重新措辞, 嵌入的 的 可嵌入 类必须使用定义实体的每个ID属性 基本的 标准JPA中的映射。
基本的