2012-03-02 10 views
1

我正在尋找「所有者」的簡單定義。 hibernate文檔始終談論「所有者」,但我無法找到所有者的定義。也就是說,我希望能夠回答以下各種問題:JPA/Hibernate:收集「所有者」的簡明定義和最佳實踐

  • 是什麼意思,概念/邏輯,是主人?
  • 這是否符合現實生活中的任何概念?
  • 在多對一或一對多的關係中,爲什麼要選擇一端還是另一端作爲所有者?

回答

3

所有者是沒有mappedBy屬性的一面。

Hibernate/JPA跟蹤關聯是否存在兩個實體之間的關聯。如果您設置/修改所有者端,則更改將反映在數據庫中。如果你設置/修改另一端,JPA/Hibernate不關心。

它不符合現實生活中的任何概念。

在雙向OneToMany/ManyToOne關聯中,可以成爲JPA規範中所有者的唯一一方是Many方。這也是最自然的選擇,因爲它是映射到持有實現關聯的外鍵的表的許多方面。 Hibernate允許將另一端定義爲所有者,但映射非常複雜,並且不建議。