Java 当@OneToMany注释时,hibernate是否总是需要添加/清除方法?
我有 比如说 主有两颗行星,我想把主的这两颗行星分开 我选择lord加入行星表,然后通过这种方式清除行星:fetchedLordById.clearPlanets();&repo.save(fetchedLordById) 这是个好办法吗?是的 从: 每当形成双向关联时,应用程序 开发人员必须确保双方始终保持同步 所以你所做的是正确的 您还可以启用: 启用此属性后,只需更新关联的一侧。请记住,如果启用它,可能还需要更新代码以使用它,因为它改变了Hibernate ORM处理关联的方式Java 当@OneToMany注释时,hibernate是否总是需要添加/清除方法?,java,spring,spring-boot,hibernate,spring-data-jpa,Java,Spring,Spring Boot,Hibernate,Spring Data Jpa,我有 比如说 主有两颗行星,我想把主的这两颗行星分开 我选择lord加入行星表,然后通过这种方式清除行星:fetchedLordById.clearPlanets();&repo.save(fetchedLordById) 这是个好办法吗?是的 从: 每当形成双向关联时,应用程序 开发人员必须确保双方始终保持同步 所以你所做的是正确的 您还可以启用: 启用此属性后,只需更新关联的一侧。请记住,如果启用它,可能还需要更新代码以使用它,因为它改变了Hibernate ORM处理关联的方式 @OneT
@OneToMany(mappedBy = "lord", fetch = FetchType.EAGER, cascade = CascadeType.ALL)
@Getter
private Set<Planet> planets;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "lord_id")
private Lord lord;
// Lord code above
public void clearPlanets() {
this.planets.forEach(item -> item.setLord(null));
this.planets.clear();
}
hibernate.enhancer.enableAssociationManagement = true