Spring Data JPA中的mappedBy

Posted yangzhix

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Data JPA中的mappedBy相关的知识,希望对你有一定的参考价值。

 

 
 

   mappedBy单向关系不需要设置该属性,双向关系必须设置,避免双方都建立外键字段   

  数据库中一对多的关系,关联关系总是被多方维护的即外键建在多方,我们在单方对象的@OneToMany(mappedBy="xxx")

 

 mappedBy 单向关系不需要设置该属性,双向关系必须设置,避免双方都建立外键字段

  数据库中一对多的关系,关联关系总是被多方维护的即外键建在多方,我们在单方对象的@OneToMany(mappedby="xxx ")

  把关系的维护交给多方对象的属性去维护关系

  对于mappedBy用法:

  a) 只有OneToOne,OneToMany,ManyToMany上才有mappedBy属性,ManyToOne不存在该属性;

  b) mappedBy标签一定是定义在the owned side(被拥有方的),他指向theowning side(拥有方);

  c) 关系的拥有方负责关系的维护,在拥有方建立外键。所以用到@JoinColumn

  d)mappedBy跟JoinColumn/JoinTable总是处于互斥的一方

  

 

以上是关于Spring Data JPA中的mappedBy的主要内容,如果未能解决你的问题,请参考以下文章

spring-data-jpa一对多多对一多对多关联

spring data jpa原生查询中基于地图索引的查询

为啥手动定义的 Spring Data JPA 删除查询不会触发级联?

Spring Data JPA:在两个方向上保持多对可能的关系

Spring Boot ManyToMany - *** - JPA,Hibernate

有人可以解释 JPA 和 Hibernate 中的 mappedBy 吗?