如何使用JPA實現以下關係?如何建立多對多關係
table person (
id int,
name text
)
table person_home (
person_id int,
home_id int,
type char(1) -- 'p' = primary, 's' = secondary
)
table home (
id int,
address text
)
一個人可以有許多家庭,和家庭可以有多少人生活在它(即多對多的關係)。 此外,一個家庭可以成爲一個人的主要居所,但同時又是另一個人的二級居所。
即使數據庫模式已清除,我也不確定如何建模此關係。
我想過將映射表person_home拆分成person_primary_home和person_secondary_home,但是如果可能的話,我寧願保留模式。
是的,一個人可以有不止一種類型的房屋。所以答案是我需要將映射表建模爲一個類? –
如果你想以某種方式獲得'type'列,那麼我相信是的。 – ametren
我遇到了這個問題,因爲這對於關係有元數據非常有用。我相信我找到了一種將其稱爲「多對多」的方法,但我必須讓對象代表這種關係。把它想象成兩個「一對多」關係更容易。 – ametren