在Spring JPA中使用deleteById vs Delete

时间:2019-05-09 18:32:46

标签: spring-data-jpa

我对spring-data中的deleteById和delete方法有疑问。 这些方法有什么区别?什么时候应该使用delete / deleteById? 我在Google搜索了一天,但没有答案

1 个答案:

答案 0 :(得分:0)

如果提供的EmptyResultDataAccessException不存在,则方法deleteById将抛出id,而如果提供的entity没有,方法delete将静默返回还没有被持久化,或者由于任何原因EntityManager无法找到它。

此外,正如@manish在其评论中指出的那样,如果findById方法能够找到实体,则方法deleteById实际上会在内部调用delete方法。