mappedBy:
1>只有OneToOne,OneToMany,ManyToMany上才有mappedBy屬性,ManyToOne不存在該屬性;
2>mappedBy標簽一定是定義在被擁有方的,他指向擁有方;
3>mappedBy的含義,應該理解為,擁有方能夠自動維護跟被擁有方的關系,當然,如果從被擁有方,通過手工強行來維護擁有方的關系也是可以做到的;
4>mappedBy跟joinColumn/JoinTable總是處於互斥的一方,可以理解為正是由於擁有方的關聯被擁有方的字段存在,擁有方才擁有了被擁有方。mappedBy這方定義JoinColumn/JoinTable總是失效的,不會建立對應的字段或者表。
mappedBy表示聲明自己不是一對多的關系維護端,由對方來維護,是在一的一方進行聲明的。mappedBy的值應該為一的一方的表名。
1>只有OneToOne,OneToMany,ManyToMany上才有mappedBy屬性,ManyToOne不存在該屬性;
2>mappedBy標簽一定是定義在被擁有方的,他指向擁有方;
3>mappedBy的含義,應該理解為,擁有方能夠自動維護跟被擁有方的關系,當然,如果從被擁有方,通過手工強行來維護擁有方的關系也是可以做到的;
4>mappedBy跟joinColumn/JoinTable總是處於互斥的一方,可以理解為正是由於擁有方的關聯被擁有方的字段存在,擁有方才擁有了被擁有方。mappedBy這方定義JoinColumn/JoinTable總是失效的,不會建立對應的字段或者表。
mappedBy表示聲明自己不是一對多的關系維護端,由對方來維護,是在一的一方進行聲明的。mappedBy的值應該為一的一方的表名。
例如:城市與大學,一個城市有多個大學。
在City實體類中
@OneToMany(mappedBy="city")
@Cascade(CascadeType.ALL)
private List<College> college;
@mappedBy注解的作用:在JPA中,在@OneToMany里加入mappedBy屬性可以避免生成一張中間表。
在City實體類中
@OneToMany(mappedBy="city")
@Cascade(CascadeType.ALL)
private List<College> college;
@mappedBy注解的作用:在JPA中,在@OneToMany里加入mappedBy屬性可以避免生成一張中間表。