代码之家  ›  专栏  ›  技术社区  ›  LeonS

带数据的JPA EclipseLink Manytomany

  •  0
  • LeonS  · 技术社区  · 14 年前

    我目前正在尝试实现与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规范

    有人知道嵌入映射关系中的基本映射的含义吗? 这里可能有什么问题?

    1 回复  |  直到 14 年前
        1
  •  2
  •   Pascal Thivent    14 年前

    EclipseLink抱怨使用了 Basic 映射(例如a ManyToOne )在一个 Embeddable 用作主键的类(即用 EmbeddedId )

    根据JPA2.0规范,这确实不受支持:

    11.1.15嵌入注释

    这个 嵌入的 注释已应用 到的持久字段或属性 实体类或映射的超类 表示复合主键 是可嵌入类。可嵌入的 类必须注释为 可嵌入 . 关系映射 在嵌入的ID类中定义 不受支持

    如果我重新措辞, 嵌入的 可嵌入 类必须使用定义实体的每个ID属性 基本的 标准JPA中的映射。

    工具书类

    • JPA 2.0规范
      • 第11.1.15节“嵌入注释”