我的問題可能看起來很愚蠢。我對JPA很陌生,試圖理解它的基本概念。我發現有一個@多對一的實體關係可以在那裏使用。我的問題是爲什麼有人想要使用這個@ @一對多關係? 我的意思是,擁有後者足以瞭解關係併發送正確的查詢?如果沒有請解釋,請致電 。也許我對這兩個關係的想法是完全錯誤的。請提供一個場景作爲例子,以便我更好地理解。 謝謝爲什麼在JPA實體關係中使用@多對一?
1
A
回答
1
OneToMany
用於映射集合。如果你想這個關係是雙向的,那麼你需要在另一端添加一個ManyToOne
映射。
隨着Hibernate映射:人Ñ< ---> 1個地址
<class name="Person">
<id name="id" column="personId"/>
<many-to-one name="address" column="addressId"/>
</class>
<class name="Address">
<id name="id" column="addressId"/>
<set name="people">
<key column="addressId"/>
<one-to-many class="Person"/>
</set>
</class>
ManyToOne
也可以用於映射兩個對象之間的依賴性。在這種情況下,如果您希望關係是雙向的,那麼您需要在另一端添加一個OneToOne
映射。
隨着Hibernate映射:第1個人< ---> 1地址
<class name="Person">
<id name="id" column="personId"/>
<many-to-one name="address" column="addressId" unique="true"/>
</class>
<class name="Address">
<id name="id" column="addressId"/>
<one-to-one name="person" property-ref="address"/>
</class>
1
@ManyToOne
和@OneToMany
都是用於描述一個雙向關係的雙方的同一概念的一部分。
如果您希望關係是單向的 - 即其中一個實體不能遍歷另一個實體,則可以使用其中一個註釋。要決定哪一個,你將不得不決定哪個實體應該知道關係,哪些不應該。
但通常你想要一個雙向關係 - 那麼你使用兩者。
相關問題
- 1. JPA實體關係多對多的自我關係
- 2. JPA - 不能訪問非實體@MappedSuperclass在多對一關係
- 3. JPA一個一對多的關係問題(上一個實體關係)
- 4. 多對多實體關係:使用FOSUserBundle
- 5. 如何在多對多關係中使用hibernate和JPA刪除孤立實體?
- 6. JPA多對一關係
- 7. 多對多關係爲單個實體
- 8. JPA多對一關係CascadeType行爲
- 9. JPA:兩個實體之間有多個多對多的關係?
- 10. JPA一對一的關係,實體可能不存在
- 11. 爲什麼需要關係表從實體到同一實體
- 12. 映射JPA實體關係
- 13. 我的JPA實體的OneToMany關係中缺少什麼?
- 14. 實體框架中的一對多和一對多關係6
- 15. JPA許多一對多的關係,以同一實體與額外的列
- 16. 計數實體一對多的關係
- 17. 實體框架和一對多關係
- 18. 實體框架一對多關係
- 19. 爲什麼不能在JPA和Hibernate中使用外鍵關係?
- 20. JPA使用連接表的JPA一對多單向關係
- 21. Spring + JPA多對多關係
- 22. 實體框架具有唯一實體的一對多關係
- 23. 如何在JPA中實現複雜的多對多關係?
- 24. 在JPA中將關係指定爲「一對一」有什麼意義?
- 25. 實體框架 - 爲什麼EF使用1對1關係中的LEFT OUTER JOIN?
- 26. 管理多個實體,與一對多的關係,在一次
- 27. 如何使用JPA(Hibernate)創建與同一實體的關係?
- 28. JPA /如何在多對多關係
- 29. JPA/Hibernate中的多對多關係Eager
- 30. JPA多個OneToMany關係到同一個實體