关于JPA和并发外部数据库更新的问题......
我们正逐渐将旧的客户端 - 服务器应用程序逐个移动到基于Web的应用程序。
根据我未做的一些决定,有些是用Java和其他一些.NET MVC重写的。
Java的技术堆栈是带有CDI + EJB和JPA的JavaEE 7,但许多已经使用旧的JSP技术进行了重写(它们的工作方式很难被重写)。
某些数据库在不同的应用程序之间共享,其中一个数据库更新记录而其他数据库只读取(可能在将来某些表甚至文件也可能从其他应用程序更新)。
使用JPA,由于托管bean的会话级缓存,我们的实体bean不会反映数据库记录的状态。我知道这是标准的JPA行为。
我知道我可以在单个bean上做refresh()
但有时在一个集合中有数万个它们并重新发布许多单结果查询(基于PK)而不是提取集合的新副本单一查询是严重的性能杀手。
是否有任何标准的JPA注释或persistece.xml
参数告诉JPA从会话级缓存中排除某些实体?甚至是查询对象提示/方法强制发出新查询而不是访问会话缓存(某种组失效)?
感谢您的帮助!