我有3个表:Person,Phone和Person_Phone。 Person_Phone是个人和电话表的JoinTable。
这三个表都有一个主键。(PostgresSQL序列)。我想使用JPA或hibernate注释来映射它。我知道使用@JoinTable来映射这种关系。
但问题是插入数据时jpa无法生成Person_Phone(连接表)的序列。
我怎样才能实现呢?
以下是表格结构
Person
-------------
personID(PK)
personName
.....
电话表:
Phone
--------
phoneID
phoneNumber
Person_Phone表:
Person_Phone
-----------------
id(PK)
personID(FK)
phoneID(FK)
答案 0 :(得分:0)
简答:您不需要连接表的序列。删除它。
答案稍长:
常规联接表的复合主键包含已加入实体的ID,在您的情况下为personID
和phoneID
。
从表定义中删除id
列,或者让hibernate为您生成表定义,并根据需要对其进行调整。