我对 spring-data 中的 deleteById 和 delete 方法有疑问。这些方法有什么区别?我什么时候应该使用 delete/deleteById?我在谷歌上搜索了一天,但我没有答案
小智 13
如果提供的内容不存在,该方法deleteById将抛出一个异常,而如果提供的内容尚未持久化,或者由于任何原因无法被 找到,该方法将默默返回。EmptyResultDataAccessExceptioniddeleteentityEntityManager
此外,正如 @manish 在他们的评论中指出的那样,如果该方法能够找到实体,该方法deleteById实际上会在内部调用该方法。deletefindById
截至Spring-Boot 3.x和 的各自版本spring-data-jpa,
如果要删除的数据库中不存在提供的内容,该方法deleteById将不再抛出运行时异常。EmptyResultDataAccessExceptionid
因此,从现在开始,deleteById(Id id)和之间的唯一区别delete(T entity)是,第一个将作为参数id并尝试在数据库中定位id要删除的相关实体,而第二个将直接将要entity删除的实体作为参数。
| 归档时间: |
|
| 查看次数: |
4706 次 |
| 最近记录: |