繁体   English   中英

Mysql 和 java:当涉及到并发更新时如何处理多个用户

[英]Mysql and java : How to handle multiple users when it comes down to concurrent updates

我已经用我知道的术语到处寻找,但没有找到任何好的解决方案。 我正在尝试做一个基本上做簿记的小应用程序。 我使用 java 作为前端,使用 MySQL 作为数据库。

该应用程序必须支持多个用户 (3-4),因此如果两个用户想要编辑同一行,我想实施某种保护。

我研究过的东西以及我不知道是否应该使用它们的原因:

  • Hibernate:我看到多个线程说 ORM 正在使事情复杂化
  • 乐观/悲观锁定:使用 hibernate 或 SELECT ... FOR UPDATE 我读过对并发不利

我不知道还有什么可看的。

感谢您阅读

您可以从您的应用程序中实现某种锁定数据库中的行,例如添加一个列“lockedby”,其中包含一个客户端标识符作为值。 在您授予编辑行的访问权限之前,在您的应用程序中检查该标志。 应用程序应该重新获取锁定,如果程序仍处于编辑模式,那么如果客户端失败,该行不会永远保持锁定状态。 只是一个想法,但我认为这是一个可能的解决方案。

另一种方法是在提交更新之前检查该行是否已更改。 可以通过检查内容的哈希和轻松实现。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM