2014-09-19 147 views
0

我需要Hibernate和多對多關係的幫助。這是我在link上的示例模式。這很簡單,所以你可以很容易地明白這一點。濃度見表PERSON,ADDRESSPERSON_ADDRESS休眠 - 優化ManyToMany關係

Java模型在這裏link。我的問題是:

  • 那個班級PersonAddress是完全錯誤的嗎?
  • 如果我這樣說吧,在發展的後期階段,我會遇到什麼問題?
  • 我該如何優化它?

我的示例代碼的Git回購是here

+0

你不有明確的MN關係。這是一個具有關係上額外屬性的M-N,因此引入一箇中間類(如你所做的那樣)並且有兩個1-N關係是正確的。那麼爲什麼不實際使用它?你在這篇文章中沒有「問題」。 – 2014-09-19 06:57:46

+0

如果我想收集地址中的人員地址和收集人員地址,該怎麼辦?是否需要避免'private Collection personAddressCollection'? – shx 2014-09-20 19:12:05

回答

0

PersonAddress被稱爲連接表。 Hibernate支持連接表,你不需要額外的努力來實現它。但我不確定是否可以將其他屬性添加到連接表中。 Hiberante bidirectional association

對於附加屬性在你的連接表,你應該與@Embeddable和@EmbeddedId註解,但後來去大部分參加工作,你會做你自己的,看看這個答案,Hiberante additional properties in join table.