我使用弹簧启动2和弹簧数据
在一对多的关系中,当我们想要在休息架构中删除关系时,应该是什么样的好方法
儿童和父母继续存在......只有关系必须被删除
@DeleteMapping(value="/{id}/child/{childId}")
public void deleteChildRelation(@PathVariable("id") Integer id, @PathVariable("childId") Integer childId){
service.deleteChildRelation(id, childId);
}
我们可以获得父母,删除孩子并保存
或使用查询注释并执行类似
的操作@Query("update Child c set c.parent=null where c.id=:id ")
void deleteChildRelation(@Param("id") Long id);
答案 0 :(得分:1)
第一种方法是JPA的方法。它速度较慢,但保持一致的会话采用乐观锁定,它还会更新JPA二级缓存。如果这对你有用,你应该使用它。
如果你只是希望关系消失,第二种方法更快更简单,因为它只进行一次数据库。