gpt4 book ai didi

java - Mysql和java : How to handle multiple users when it comes down to concurrent updates

转载 作者:行者123 更新时间:2023-11-30 05:17:49 25 4
gpt4 key购买 nike

我几乎到处都用我知道的术语进行了查找,但没有找到任何好的解决方案。我正在尝试制作一个本质上是簿记的小应用程序。我使用 java 作为前端,使用 MySQL 作为数据库。

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

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

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

我不知道还要研究什么。

感谢您的阅读

最佳答案

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

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

关于java - Mysql和java : How to handle multiple users when it comes down to concurrent updates,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60096867/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com