JPA的Write-Behind Cache

Eng*_*_DJ 15 java hibernate terracotta jpa ehcache

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

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

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

Gee*_*nte 5

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

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

只需确保它完全独立于周围的事务即可。然后您的应用程序单独写入缓存,不再使用 JPA。

你遇到过哪些问题?