Spring Hibernate Merge()导致两个会话中出现重复记录

Spring Hibernate Merge()导致两个会话中出现重复记录,spring,hibernate,transactions,merge,Spring,Hibernate,Transactions,Merge,一个用户打开屏幕并试图创建记录。 另一个用户打开同一屏幕并试图创建记录。 我正在使用spring事务 负责插入/更新的代码使用hibernate合并 期望值:当一个用户已经创建了该记录时,另一个用户应该不能这样做 问题:可以在数据库中插入两条记录,每个用户一条。如何在不更改数据库表的情况下解决此问题。可能是一些示例代码?显示负责插入/更新的代码。如果不更改数据库表,我看不出您怎么能有这样的保证。应创建唯一的约束。我看到的唯一替代方法是检查记录是否存在,然后创建记录。但是,只有当一个进程在此表中插

一个用户打开屏幕并试图创建记录。 另一个用户打开同一屏幕并试图创建记录。 我正在使用spring事务

负责插入/更新的代码使用hibernate合并

期望值:当一个用户已经创建了该记录时,另一个用户应该不能这样做


问题:可以在数据库中插入两条记录,每个用户一条。如何在不更改数据库表的情况下解决此问题。

可能是一些示例代码?显示负责插入/更新的代码。如果不更改数据库表,我看不出您怎么能有这样的保证。应创建唯一的约束。我看到的唯一替代方法是检查记录是否存在,然后创建记录。但是,只有当一个进程在此表中插入,并且checkThenInsert方法受互斥锁保护时,这才有效。记录的唯一性是什么?举个例子会更容易理解。