Кэш-запись для записи JPA

По всей видимости, от поиска в Интернете и Интернета в целом невозможно реализовать EHCache в качестве кэша для записи для Hibernate, так как это потребует существенных изменений в коде Hibernate.

Существуют ли какие-либо другие решения (предпочтительно с открытым исходным кодом) для провайдера JPA, которые могут "прозрачно" подключаться к реализации кэша для записи по электронной почте и, предпочтительно, к тому, который может быть распространен с помощью чего-то вроде Terracotta?

Я читал, что EclipseLink и Oracle Coherence могут достичь этого, но Coherence, к сожалению, не дешевое решение!

Ответы

Ответ 1

Мы записали обработчик кэша для записи для Coherence, основанный на Hibernate.

Что мешает вам писать EHCache CacheWriter с использованием любой реализации JPA, как описано в 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.Collection).

Просто убедитесь, что он полностью независим от окружающих транзакций. Затем ваше приложение записывается в кеш и больше не использует JPA.

Каковы проблемы, с которыми вы столкнулись?