天天看點

JPA中Entity關系映射中(@OneToMany等)的mappedBy屬性

本部落格參照https://blog.csdn.net/petercnmei/article/details/54893622

               mappedBy 單向關系不需要設定該屬性,雙向關系必須設定,避免雙方都建立外鍵字段

               mappedBy屬性也能避免會多出一張表,這樣也能有效減少SQL語句(可設定屬性用n的一方來維護關聯關系,而1的一方不維護)

            資料庫中1對多的關系,關聯關系總是被多方維護的即外鍵建在多方,比如我們在單方對象的@OneToMany(mappedby=” “)把關系的維護交給多方 對象的屬性去維護關系

               既

                    a) 隻有OneToOne,OneToMany,ManyToMany上才有mappedBy屬性,ManyToOne不存在該屬性;

               b) mappedBy标簽一定是定義在the owned side(被擁有方 主表),他指向theowning side(擁有方 外鍵關聯的子表);

               c) 關系的擁有方負責關系的維護,在擁有方建立外鍵。是以用到@JoinColumn

               d)mappedBy跟JoinColumn/JoinTable總是處于互斥的一方(隻能有一個、否則報空指針異常)

繼續閱讀