如何在JPA中映射实体的复合键?

Thi*_*Roy 5 jpa

我有REGION表:

REG {
    id number,
    dateCreation Date
  }
Run Code Online (Sandbox Code Playgroud)

我有一个LOCALE表:

LOCALE {
     locale String
  }
Run Code Online (Sandbox Code Playgroud)

我有一个REGION_DESCRIPTION表:

REGION_DESCRIPTION {
     locale String,
     regId number,
     description
  } 
Run Code Online (Sandbox Code Playgroud)

REGION_DESCRIPTION有一个复合键:locale是指向LOCALE表的外键.并且regId指向REGION表.

我想将此映射到我的Region java类:

private List<RegionDescription> descriptions;
Run Code Online (Sandbox Code Playgroud)

我在JPA尝试了不同的方法.但我无法使映射工作.有什么建议?

top*_*hef 2

您有一个连接表(REGION_DESCRIPTION)通过携带其自己的属性而成为实体的情况。我建议如下:

  1. 将RegionDescription定义为具有复合主键类的完整实体,请参见示例

  2. 在RegionDescription中定义 2 个多对一关系: RegionDescriptionRegionRegionDescriptionLocale

  3. 或者或另外在Region中定义一对多关系,以按照您上面指定的方式 映射RegionDescription 。