我们正在使用OpenJPA 2.2.x并且在我们的应用程序之外填充了几个表(通过Asterisk插件)。
这迫使我们一般禁用OpenJPA缓存。这可能会产生不良影响,实际上缓存对于性能和后期调优非常方便。 毕竟我认为仅仅因为一个功能而完全禁用缓存也是一个相当糟糕的设计决定。
有没有办法强制OpenJPA始终从数据库中读取某些表而不是使用缓存?
还有其他流行的模式来解决这个问题吗?
谢谢!
塞巴斯蒂安
答案 0 :(得分:4)
看一下JPA 2.0规范......它应该概述你正在寻找什么。
简短的说法是,您可以在p.xml中设置<shared-cache-mode>ENABLE_SELECTIVE</shared-cache-mode>
,并在可缓存的实体中使用@javax.persistence.Cachable
注释。
希望这有帮助。
瑞克