JPA的Write-Behind Cache

时间:2011-08-26 12:00:31

标签: java hibernate jpa ehcache terracotta

从这里和整个网络搜索看来,不可能将EHCache实现为Hibernate的后写缓存,因为这需要对Hibernate代码进行大量更改。

JPA提供程序是否有任何其他解决方案(最好是开放源代码)可以“透明地”挂钩到后写缓存实现,最好是可以像Terracotta一样分发的解决方案?

我已经读过EclipseLink和Oracle Coherence可以做到这一点,但Coherence可悲的不是一个廉价的解决方案!

1 个答案:

答案 0 :(得分:4)

我们确实为Coherence编写了一个基于Hibernate的后写缓存处理程序。

正如http://ehcache.org/documentation/apis/write-through-caching中所述,什么阻止您使用任何JPA实现编写EHCache CacheWriter。您可以扩展AbstractCacheWriter,您需要实现的只有write(net.sf.ehcache.Element),writeAll(java.util.Collection),delete(net.sf.ehcache.CacheEntry)和deleteAll(java.util) .Collection)。

确保它完全独立于周围的交易。 然后,您的应用程序单独写入缓存,并且不再使用JPA。

您遇到的问题是什么?