【发布时间】:2013-12-31 03:33:43
【问题描述】:
我正在使用 Hibernate 实现 WebService 以将数据写入/读取到数据库 (MySQL)。我遇到的一个大问题是,当我通过一个 JVM(例如:JUNit 测试或直接从 DBUI 套件)成功插入数据(例如 USER 表)时,我在单独的 JVM 上运行的 WebService 的 Hibernate 无法找到这些新数据。它们都指向同一个数据库服务器。只有当我破坏了 WebService 的 Hibernate SessionFactory 并重新创建它时,WebService 的 Hibernate 层才能读取新插入的数据。相比之下,相同的 JUnit 测试或来自 DBUI 套件的直接查询可以找到插入的数据。
感谢任何帮助。
【问题讨论】:
-
您是否有可能启用了二级缓存,而您的第二个应用程序正在读取陈旧数据?
-
@Sajith,谢谢。但我不认为我启用了二级缓存。此外,在这种情况下,我相信我有两个单独的 SessionFactory 实例正在运行:一个是由 JUNIT JVM 插入数据的;另一个是 WebService 服务器,它在每个方法调用中读取数据。
标签: web-services hibernate junit jvm