Переход в режим гибернации кэша второго уровня ehcache.xml параметр кэша для объектов не может быть прочитан в режиме гибернации

StackOverflow https://stackoverflow.com/questions/934720

Вопрос

Чтобы было понятнее и проще, у меня есть два проекта:1.Проект сущности, в котором есть все классы сущностей в этом проекте.2.Проект, содержащий функцию main() для запуска приложения My ehcache.xml, помещается в пути к классу этого проекта.

Моя проблема в том, что:Я могу изменить Кэш по умолчанию элемент ehcache.xml и я вижу изменения из файла журнала SQL.Но я думаю, что режим гибернации только читает мои Кэш по умолчанию элемент, потому что все, что я меняю в Кэш элемент определенной сущности из ehcache.xml, в журнале SQL не будет никаких изменений.

Например:Если я установлю макСимальныЙэЛемент в памяти из Кэш по умолчанию элемент для 0, что бы я ни установил макСимальныЙэЛемент в памяти из числа Кэш элемент объекта, к которому 100 или 0, в кэше второго уровня не будет никакой этой сущности, кэшированной.Если я установлю макСимальныЙэЛемент в памяти из Кэш по умолчанию элемент для 100, что бы я ни установил макСимальныЙэЛемент в памяти из числа Кэш элемент объекта, к которому 100 или 0, всегда есть этот объект, кэшированный в кэше второго уровня.

Поэтому я думаю, что, возможно, атрибут name Кэш элемент объекта неверно задан и не может быть прочитан из гибернации?

Это было полезно?

Решение

Я нашел, в чем заключается моя проблема.Я использую ehcache в качестве поставщика кэша.В ehcache.xml Я думаю, что элемент defaultCache также используется для ВСЕХ кешей запросов, если я не установил элемент StandardQueryCache.Таким образом, не важно, установил ли я для maxElementsInMemory of значение "0", потому что все QueryCache используют область defaultCache по умолчанию.Но установка значения maxElementsInMemory of равным "0" определенно может помочь отключить кэш второго уровня этого объекта при использовании функции EntityManager.find().

Другие советы

ПОЖАЛУЙСТА, ознакомьтесь с документацией.В случае maxElementsInMemory установка, значение 0 имеет особое значение - unlimited.Таким образом, вместо того, чтобы вообще не получать кэш, вы кэшируете все.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top