2014-01-15 80 views
0

我有3個表格:Person,Phone和Person_Phone。 Person_Phone是Person和Phone表的JoinTable。通過JPA中的另一個實體更改連接表

所有這三個表都有一個主鍵(PostgresSQL序列)。我想使用JPA或hibernate註釋來映射它。我知道使用@JoinTable來映射這種關係。

但問題是插入數據jpa無法爲Person_Phone(Join Table)生成序列。

我該如何實現它?

下面是表結構

Person 
------------- 
personID(PK) 
personName 
..... 

電話表:

Phone 
-------- 
phoneID 
phoneNumber 

Person_Phone表:

Person_Phone 
----------------- 
id(PK) 
personID(FK) 
phoneID(FK) 
+0

到目前爲止映射看起來不錯。 Phone實體中有人字段嗎?請添加它,並在您嘗試添加實體的位置添加代碼,並準確描述發生了什麼問題。 – kostja

+0

對不起kostja。我修改了這個問題,請檢查一次。 – Rajesh

+0

當然沒問題 – kostja

回答

0

簡短的回答:你不需要爲連接表的順序。去掉它。

稍長的答案:

常規連接表中有一個複合主鍵組成的加盟實體的id,你的情況,personIDphoneID

從表定義中刪除id列,或讓hibernate爲您生成表定義並根據需要進行修改。

相關問題