【问题标题】:hibernate and sqlserver concurrency issues?hibernate和sqlserver并发问题?
【发布时间】:2013-03-28 10:52:06
【问题描述】:

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

问题是两个系统在检查记录是否存在报假,同时插入一条新记录,导致key重复导致并发异常。

我正在使用休眠,并且调用 Web 服务的系统也提供主键。

这里我可以把方法设为synchronized吗?会有缺点还是有什么优雅的方法可以做到这一点?

谢谢!

【问题讨论】:

    标签: java sql-server spring hibernate


    【解决方案1】:

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

    最好的方法是在表上设置唯一约束以避免重复;这允许您在插入副本时处理唯一约束违规并做任何您想做的事情。

    【讨论】:

      猜你喜欢
      • 2013-04-09
      • 2014-12-01
      • 2011-04-26
      • 1970-01-01
      • 2016-11-10
      • 2012-12-24
      • 1970-01-01
      • 2010-10-08
      • 1970-01-01
      相关资源
      最近更新 更多