java - 不同应用程序上的 jpa 实体

标签 java jpa

我有一个基于 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/

相关文章:

java - 将 Jlabel 放在另一个之上

java - 基于包含 MappedSuperclass 的元模型的 JPA EntityGraph 不可能吗?

caching - 扩展和集群 JPA

java - 如何即时修改 java 属性?

java - 两个矩形是否相互重叠?

java - 循环中的tryLock()?

java - 静态动画系统

java - 在构造函数中而不是在构造函数中加载数据

java - 如何使用JPA和Facade?

java - 按集合中的元素查找