使用spring data jpa 的删除操作,需要加注解@Modifying @Transactional 否则报错如下: No EntityManager with actual transaction available for current thread - cannot reliably process 'remove' call
场景如下:
在service中,先执行 delete 操作,再执行 save操作
报错如下:
No EntityManager with actual transaction available for current thread - cannot reliably process 'remove' call
在service层加上事务注解,依旧会报错,而且在执行的sql中可以看到仅执行insert语句,没有执行delete语句
说明delete操作并没有执行,所以在插入的时候,可能出现主键重复,唯一约束重复,报错的情况出现。
解决方法: