java - 通过两个不同的 JVM 进程异常分隔 Hibernate 实例

标签 java linux hibernate

我遇到了一个奇怪的场景——我有两个 hibernate 实例(比如 A 和 B)由两个独立的 JVM 进程运行——请不要问为什么,但我必须问。当 A 提交(trans.commit())并写入 MySql 中的表 T 时,当 B 从 T 读取相同的记录时,它会得到陈旧的数据。

A 和 B 每个都有一个 session 对象——sessionA 和 sessionB。因此,没有调用新的 openSession()。

谁能告诉我为什么会这样?

最佳答案

关于其他选择:如果您使用 Hibernate 作为 ORM(Object Relational Mapping) 工具,那么您可以在 hibernate 文档中查看 LockOptions。 您可以对插入然后从数据库检索的实体使用 LockMode.Upgrade

总结:在 hibernate 状态下查看LockOptions并在这种情况下应用LockMode Upgrade

如果您仍然遇到任何问题,请发布。 希望它能为您解决问题。

谢谢。

关于java - 通过两个不同的 JVM 进程异常分隔 Hibernate 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14907407/

相关文章:

dictionary - ConcurrentHashMap如何获取tailMap?

java - 如何使用 Hibernate 映射复合键且其中之一是外键

java - "hangs"上的 FTP 连接 "LIST"

java - MySQL 还是 Derby ?在线java聊天服务器?

linux - 如何在 Linux 中创建文件监听器?

linux - aplay 在 systemd 运行时不播放音频

java - 如何避免在 Java 中具有相同方法主体但返回类型不同的重复代码?

mysql - 一夜之间失去连接(spring boot + mysql)

JavaFX:如何监听非 UI 对象上的事件

c++ - 如何通过 g++ 创建共享库