提问者:小点点

Spring JPA多线程删除竞争


我有一个Spring JPA多线程程序,其中多线程保存到一个表中。我想知道在下面的场景中会发生什么:

两个线程选取相同的对象进行处理,并< code >保存到表中。数据已成功保存。争用解决机制识别出其中一个数据是重复的,并发出< code>delete请求。这种删除是否也会将对象从第一个线程的上下文中删除?

(当通过JPA的save方法成功返回的对象突然被记录为null时,会出现间歇性问题。)


共1个答案

匿名用户

为了避免这种情况,您可以尝试使用saveAndFlush而不是save。这可能会解决意外删除的问题。

参考:Spring data jpa中保存和保存AndFlush的区别