0

我们有一个选择查询,它检查状态是否已编辑,如果没有,则对状态为已编辑的同一记录执行更新。如果已经存在,则会向用户显示错误,说无法编辑记录。这个逻辑写在 dao 层中,该层是从一个由 struts 动作调用的服务层调用的。

当多个用户同时执行相同的任务时,我们将获得两条已编辑的记录。这是因为没有同步吗?同步逻辑块会解决问题吗?或者我们需要使用一些表锁来处理。

该应用程序正在生产中。我们在许多其他模块中都有类似的逻辑。处理此问题的最佳和最安全的方法是什么。

我们正在使用 Struts 2 和 ibatis。

4

0 回答 0