2016-01-20 108 views
0

我的项目使用Spring Data JPA(JpaRepository)进行持久性操作。但是,当同时执行多个请求时,数据在表格中被复制,我只想添加唯一的记录。如何避免Spring Data Jpa并发情况?

发生这种情况是因为第一次对于所有线程,该表中没有匹配的记录,并且它允许所有线程将该记录保存在该表中。

如何我可以避免它的任何建议。

我看到锁定和隔离作为一些建议的方式,但我不确定如果我们使用JpaRepository接口方法我们如何实现它们。

+1

欢迎来到堆栈溢出请阅读http://stackoverflow.com/help/how-to-ask然后改善你的问题。 (添加一些代码,配置等)。 –

+0

然后你需要一个唯一的索引在表中。 – OrangeDog

+0

我有一个唯一的索引..但即使如此,它允许bcoz整个域请求是事务类型,它分布在多个表..因此它允许多个线程。 –

回答

1

这不是Spring数据造成的。控制手段在JPA和数据库领域。我建议你阅读JPA的乐观锁定以及数据库中的唯一索引。