本部落格參照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總是處于互斥的一方(隻能有一個、否則報空指針異常)