Ram*_*ash 2 spring-data spring-data-jpa
我有一个Person具有 OneToMany 映射的实体Set<Address>。
@OneToMany(
mappedBy = "person",
fetch = FetchType.LAZY,
cascade = CascadeType.ALL
)
private Set<Address> addresses = new HashSet<>();
Run Code Online (Sandbox Code Playgroud)
地址类有
@ManyToOne
@JoinColumn(name = "person_id")
private Person person;
Run Code Online (Sandbox Code Playgroud)
现在我可以成功在数据库中添加记录。
我怎样才能实现清除地址哈希集应该导致删除该人的地址记录。
例如:在我的服务层中,下面的代码不会删除数据库中的地址。
Person p = personRepository.findBy(1).get();
p.getAddresses().clear();
personRepository.save(p);
Run Code Online (Sandbox Code Playgroud)
实现这一目标的正确方法是什么?
我必须这样做才能使这项工作成功。
@OneToMany(
mappedBy = "person",
fetch = FetchType.LAZY,
cascade = CascadeType.ALL,
orphanRemoval = true
)
private Set<Address> addresses = new HashSet<>();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10690 次 |
| 最近记录: |