我已經閱讀了幾個關於使用Hibernate創建表之間的關聯的例子,我有點困惑。我想initilaly知道有多少表將在數據庫中創建沒有指定的另一邊任何註釋與代碼:Hibernate「mappedBy」使用
@Entity
public class Flight implements Serializable {
@ManyToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE})
@JoinColumn(name="COMP_ID")
public Company getCompany() {
return company;
}
...
}
我懷疑兩個表飛行,公司和飛行包含外鍵COMPANY_ID。我對嗎?有什麼區別,如果我在另一邊添加「的mappedBy」爲:
@Entity
public class Company {
@OneToMany(mappedBy="company")
public Set<Flight> getFlights() {
...
}
}
多少表將被第二種方法產生的呢?我想第二種方法建立了雙向關聯。這兩種情況的實際區別是什麼? 「@ManyToMany」關聯中的「mappedBy」註釋又是怎麼回事?
你在問兩種情況有什麼不同,但你只提出一種情況。另一種情況是什麼?此外,請閱讀此答案:http://stackoverflow.com/questions/16119531/hibernate-jpa-manytoone-vs-onetomany/16119715#16119715 – 2013-04-20 15:13:46
第一種情況是公司實體中沒有任何註釋,第二種情況是註釋@OneToMany(mappedBy =「company」),就像你在第二個代碼片段中看到的那樣。 – arjacsoh 2013-04-20 15:21:28