2014-04-14 70 views
0

美好的一天,如何正確使用一對多和多對一的註釋?

我已經開始了我的第一個基於CRM應用程序的JPA項目,並且我在理解ManyToOne和OneToMany註解的正確用法方面遇到了一些困難。例如,假設我有兩個班;這些將帳戶和用戶類:

public class Account { 

@OneToMany 
private Set<User> userList = new HashSet<User>(); 

public class User { 

@ManyToOne 
private Account account; 

如何正確地詮釋了許多-to-one和一個一對多的關係?我試着閱讀文檔,但仍無法找到正確的結論。

感謝您的關注

+0

註釋應該按照原樣工作 - 您將創建兩個單向映射。所以問題是,你想要做什麼不同? – kostja

+0

在我的情況下,帳戶類可以有多個用戶,並且用戶可以只有一個帳戶。我想通過JPA註釋來表示這種關係,我真的很困惑如何正確地做到這一點。 – Bravo

回答

0

A「規範」一對多映射你的情況,解釋名詞解釋雙向,隨着許多方(擁有方)的表的外鍵將你的情況是這樣的:

public class Account { 

@OneToMany(mappedBy="account") 
private Set<User> userList = new HashSet<User>(); 

public class User { 

@ManyToOne 
private Account account; 

到現有的代碼唯一的區別是mappedBy屬性,修改兩處unidirecti一對一的關係變成單一的雙向關係。

+0

乾杯Kostja!這是我需要的信息。這給了我一些關於宣佈的關係的解釋。 – Bravo

+0

很酷,不客氣:) – kostja