我有一个基于 spring/jpa 的 java 后端集成应用程序(无 UI)。 现在我正在创建一个 UI Web 应用程序(也基于 spring/jpa)来支持后端应用程序的查询。 所以我将有两个应用程序(jvm)使用同一个数据库。 我的问题是 - 后端集成应用程序在数据库中进行的更改是否会反射(reflect)在 UI 应用程序的 jpa 实体上?或者我必须强制我的实体始终访问数据库才能保持最新状态?
最佳答案
不同 JVM 之间的更改没有神奇的同步。 UI 应用程序只会看到后端应用程序已保存到数据库中的更改。所以,简而言之,是的,您需要强制实体的数据库持久化/查找。
请注意,您可能还会遇到缓存问题(例如,Hibernate 默认情况下会自动缓存一些实体)。如果 UI 应用程序已缓存实体,则即使持久化到数据库中,它也不会看到后端应用程序所做的更改,直到 UI 应用程序也对数据库本身执行新查询。
因此,我建议您彻底测试并根据需要调整您的配置。
关于java - 不同应用程序上的 jpa 实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46502252/