這3張表應該使用 hibernate的哪種mapping?

lyojbuilder發表於2006-08-13
一個user表,一個 article表,一個 picture表,user和 article的圖片都儲存到picture表中,picture中有兩個外來鍵,一個指向 user,一個指向article,還有一個型別標識這個圖片是代表user的還是article的。
開始想建立兩個一對多的關係,就是 user-picture:one-to-many. user-article:one-to-many. 但是這樣 picture中總是保留一個多餘的id屬性,例如picture代表的是user的圖片,那默這時候他的article_id外來鍵就是多餘的。怎樣去掉這種情況呢? 如果用兩張表分別儲存user的圖片和article的圖片就不會有這種問題。 但是我不想用兩張表,hibernate哪一種mapping能解決這個問題?就是當圖片型別是 user 的時候,picture表的article_id就不對映,如果圖片型別是article的時候,picture表的 user_id就不對映,用 formula可以做到麼?

相關文章