很难说出这里问的是什么。这个问题是模棱两可的、模糊的、不完整的、过于宽泛的或修辞的,无法以目前的形式得到合理的回答。如需帮助澄清这个问题以便重新打开它,visit the help center .
10年前关闭。
Java多线程应用程序如何阻止对象给别人?
它是否在数据库行中阻塞?
有什么方法可以使用该表数据的通用列表吗?
最佳答案
如果您使用的不是最基本的 RDBM,那么它们将在数据级别处理并发更新。所以你在那里没问题。但是,您仍然希望处理调用者尝试根据陈旧数据进行更新的情况(这在多用户系统中经常发生)。您可以通过多种方式执行此操作:
来自系统的实体信息。对于任何编辑/更新
调用者必须返回带有 ETAG 的保存请求
最初给出。然后在你的系统中读取持久化的实体,
计算它的 ETAG,并确保它的值等于调用者的值
已经给。如果不相等,那么您知道自
调用者检索数据,您可能会引发错误。
您可以利用其版本控制功能。您将版本字段添加到
您的数据库,以及您的实体的注释版本属性。
Hibernate 会自动管理被注释的实体,抛出一个
如果您尝试使用
版本号小于其在数据库中的对应行。你
可以阅读更多关于 here .
希望有帮助。
关于Java多线程应用程序如何阻止对象给别人?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8889384/