【问题标题】:Java - Web application where same database field gets edited simultaneousty by many usersJava - 多个用户同时编辑相同数据库字段的 Web 应用程序
【发布时间】:2012-06-13 04:29:57
【问题描述】:

我正在创建一个网站,其中数据库中的特定字段由许多用户同时编辑(假设所有用户都在进行相同的编辑)。我该如何应对?我只需要一位用户就可以收到他们的编辑已成功完成的通知。

【问题讨论】:

  • 您好,请上网查找java中的数据库锁和同步

标签: java database servlets concurrency


【解决方案1】:

使用表格中的版本号,并检查版本是否正确,否则抛出异常并显示数据已更新的用户消息并显示最新数据

【讨论】:

  • 这是一种非常常见的方法。如果您使用的是 java,请查看一些基于 Spring 的项目(我使用 grails,它会为您生成这些版本列)。
【解决方案2】:

这是一个复杂的问题,有许多可能的解决方案。本质上,您需要一种锁定表或检测并发更新的方法。执行此操作的常用技术是将版本数据添加到表中。然后,在每次更新时,您都会检查最初从数据库中检索到的数据版本与现在的数据版本。如果它们不同,您就知道其他人在更新过程中更改了数据。

像 Hibernate 这样的项目可以为您自动执行其中的一些操作,因此您应该考虑使用它来帮助实现表版本控制。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-06
    • 2020-08-12
    • 1970-01-01
    • 1970-01-01
    • 2012-09-24
    • 1970-01-01
    相关资源
    最近更新 更多