Я работаю с EhCache для Hibernate и для кэширования на уровне приложений 3 года назад.
Мы используем его с RMI для аннулирования кэша, и он работает очень хорошо. Если вы используете кеш для репликации, вы должны позаботиться о графе объектов, он может стать очень тяжелым с высокой степенью кардинальности.
Если вы используете EhCache для Hibernate, вы можете использовать его для кеша запросов (это хорошее улучшение для таблиц только для чтения), и если таблица модифицируется, она автоматически очищает кеш.
Использование EhCache для кэширования коллекций также является хорошей идеей, чтобы избежать объединений для подвыборов.
Для очистки кешей через определенные промежутки времени вы можете реализовать расширение EhCache, которое очищает кеш. Мы сделали это хорошо работает.
С уважением,
Джонатан.