1

我正在使用休眠。服务公开为 Web 服务。该服务将被 2 个应用程序调用。服务方法将记录保存到数据库中。

ServiceClass.java:
------------------

//Here Transaction will start
public void saveRecord(SampleEntity entity){

someDAO.saveData(entity);

}


SomeDao.java
-----------------

public void saveData(SampleEntity entity){
  //record is saved using saveOrUpdate method
}

如果saveRecord方法被两个at a time具有相同 ID 的应用程序调用,PK violation exception则抛出该方法。

两个应用程序都发送具有相同 ID 的记录。

当我们使用saveOrUpdate它时,如果它已经存在,它应该更新记录。

4

1 回答 1

1

如果这是在事务中,则该行将被锁定(并且索引不会更新),直到事务提交。因此,如果更新发生在提交之前,它可能看起来像两个具有相同 PK 的插入。

于 2013-02-27T13:37:04.080 回答