拥有方特有功能
基本概念
所谓拥有方,指具备mappedBy的@OneToMany或@OneToOne对象。以@OneToMany为例
- Java
- Kotlin
@Entity
public interface BookStore {
@OneToMany(mappedBy = true)
List<Book> books();
}
@Entity
interface BookStore {
@OneToMany(mappedBy = true)
val books: List<Book>
}
这种关联具备一个特殊功能
-
自动设置子对象的逆关联
-
配置是否允许不同父对象抢夺子对象
1. 自动设置子对象的逆关联
假设有如下实体
- Java
- Kotlin
TreeNode.java
@Entity
public interface TreeNode {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
long id();
@Key
String name();
@Key
@ManyToOne
@Nullable
TreeNode parent();
@OneToMany(mappedBy = "parent")
List<TreeNode> childNodes();
}