Java安全通信与多个会话的数据库



我必须为我在Java的公司开发一个小应用程序,该应用程序应显示数据库中的数据。所显示的数据应在GUI中进行编辑,并在保存按钮中编辑的数据应写入数据库。我的问题现在是如何处理数据库通信,因为多个用户将同时使用该应用程序?我认为,如果一个人A正在观看数据,而B进行更改,将会有问题。如果现在人A节省了他的更改,那么B丢失了数据。

我无法在Internet中找到任何东西,因为我不知道我必须使用哪个关键字进行搜索。我只能找到一个叫做dao模式的东西,但我不认为这是我正在寻找的东西。

希望您可以帮助我。

您的问题称为数据库锁定;

锁定可能是最被忽略的持久性考虑因素。最多 申请倾向于忽略对并发问题的思考 开发,然后进入锁定机构之前 生产。考虑到大量的软件项目 失败或被取消,或者从未实现大型用户群,也许 是合乎逻辑的。但是,锁定和并发是至关重要的或至少是 对于大多数应用程序而言,一个非常重要的问题,所以可能应该是 在开发周期中之前考虑的东西。

如果该应用程序将与同一对象并发作家,则 那么锁定策略至关重要,以便数据损坏可以是 阻止。有两种防止并发的策略 修改同一对象/行;乐观和悲观 锁定。从技术上讲,有第三个策略,鸵鸟锁或没有 锁定,这意味着将您的头放在沙滩上并忽略问题。

乐观的锁定

乐观的锁定假定不会在之间修改数据 当您阅读数据时,直到编写数据。这是最大的 在今天的持久性中使用和推荐的常见锁定风格 解决方案。该策略涉及检查一个或多个值 原始对象读取在更新时仍然相同。这 验证对象是否没有由另一个用户更改 读和写。

悲观锁定

悲观的锁定意味着在您之前购买对象上的锁 开始编辑对象,以确保没有其他用户正在编辑 物体。通常通过使用来实现悲观的锁定 数据库行锁,例如通过SELECT ... FOR UPDATE SQL 句法。数据已读取和锁定,进行了更改, 交易是投入的,释放了锁。

有关更多信息以及如何使用JPA在Java中实现它

相关内容

  • 没有找到相关文章

最新更新