Hibernate 通过JPA中的另一个实体更改联接表

Hibernate 通过JPA中的另一个实体更改联接表,hibernate,postgresql,Hibernate,Postgresql,我有三张桌子:Person、Phone和Person\u Phone。Person_Phone可连接Person和Phone表 这三个表都有一个主键.postgresql序列。我想使用JPA或hibernate注释来映射它。我知道使用@JoinTable映射此关系 但问题是,在插入数据时,jpa无法为Person_PhoneJoin表生成序列 我怎样才能实现它 以下是表格结构 Person ------------- personID(PK) personName ..... 电话桌: Pho

我有三张桌子:Person、Phone和Person\u Phone。Person_Phone可连接Person和Phone表

这三个表都有一个主键.postgresql序列。我想使用JPA或hibernate注释来映射它。我知道使用@JoinTable映射此关系

但问题是,在插入数据时,jpa无法为Person_PhoneJoin表生成序列

我怎样才能实现它

以下是表格结构

Person
-------------
personID(PK)
personName
.....
电话桌:

Phone
--------
phoneID
phoneNumber
 Person_Phone
 -----------------
 id(PK)
 personID(FK)
 phoneID(FK)
个人电话号码:

Phone
--------
phoneID
phoneNumber
 Person_Phone
 -----------------
 id(PK)
 personID(FK)
 phoneID(FK)

简短回答:联接表不需要序列。移除它

稍长一点的回答:

常规联接表有一个复合主键,该主键由联接实体的ID组成,在本例中为personID和phoneID


从表定义中删除id列,或者让hibernate为您生成表定义,并根据需要调整这些定义。

到目前为止,映射看起来还可以。在电话实体中是否有个人字段?请添加它,并在您尝试添加实体的地方添加代码,并准确描述出错的地方。对不起,kostja。我修改了问题,请检查一下。