hibernate和sqlserver并发问题?

时间:2013-03-28 10:52:06

标签: java sql-server spring hibernate

我公开了一个Web服务,它会将一些数据保存到某个表中。我正在使用sqlserver数据库。多个系统可以同时使用Web服务。

问题是两个系统正在检查记录的存在并报告为false,同时插入一条新记录,这导致由于重复密钥导致并发异常。

我正在使用hibernate,而那些调用webservice的系统也提供了主键。

我可以将此方法设为synchronized吗?会有缺点还是有任何优雅的方法来做到这一点?

谢谢!

1 个答案:

答案 0 :(得分:0)

我不建议使用synchronised或甚至使用Java / Hibernate来避免重复;如果您必须扩展现有应用程序或添加另一个修改数据的应用程序,您仍会遇到此问题。

执行此操作的最佳方法是在表上设置唯一约束以避免重复;这允许您在插入副本时执行唯一约束违规并按照您的意愿执行操作。