在通过JPA执行所有数据库访问时禁用缓存的任何原因?

时间:2014-09-12 11:58:38

标签: java caching jpa eclipselink

我正在使用EclipseLink 2.5.2实现的JPA 2.1。

我希望使用@Entity缓存@Cacheable来提高效果。

我的代码是访问数据库的唯一代码。

我的所有代码的数据库访问都是通过JPA调用执行的。

我的代码在多个启用了JPA JMS缓存协调的GlassFish 4.1实例上运行。

只要我可以使用服务器可能使用来自缓存的旧数据,并且通过缓存协调传播更新所需的时间非常短,是否有任何理由禁用JPA实体的缓存?

我还想使用eclipselink.query-results-cache来缓存查询结果。在这种情况下,是否有任何理由禁用此类缓存?

感谢。

1 个答案:

答案 0 :(得分:2)

我相当确定EclipseLink默认启用L2缓存,因此添加@Cacheable不会显示性能改进。