Hibernate & EHCache: как работает maxElementsInMemory?

Я настроил EHCache с defaultCache (для элементов), StandardQueryCache (для запросов) и UpdateTimestampsCache (поскольку я считаю, что нужно следить за обновлениями базы данных ... но я действительно не понимаю, что именно он делает).

Я установил maxElementsInMemory для каждого из этих кэшей, но я не получаю, что это число контролирует StandardQueryCache и UpdateTimestampsCache. Я получаю, что число объектов, которые могут быть кэшированы в кэше по умолчанию, не должно превышать 10000, но кэш запросов не кэширует элементы. Кеширует первичные ключи (насколько я понимаю).

Означает ли это, что maxElementsInMemory для StandardQueryCache контролирует количество «строк»? из результатов, или он контролирует количество пар первичных ключей для элементов, которые он может иметь?

А как насчет UpdateTimestampsCache? Отслеживает ли он последний раз, когда объект обновлялся, последний раз, когда таблица обновлялась ... или что-то еще? Какой номер я должен использовать для maxElementsInMemory для этого?

Спасибо!

<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ehcache.xsd" updateCheck="true" monitoring="autodetect"     dynamicConfig="true">
  <defaultCache 
    maxElementsInMemory="10000"
    eternal="false"
    timeToIdleSeconds="3600"
    timeToLiveSeconds="3600">
  </defaultCache>

  <cache
    name="org.hibernate.cache.internal.StandardQueryCache"
    maxElementsInMemory="10000"
    eternal="false"
    timeToIdleSeconds="3600"
    timeToLiveSeconds="3600">
  </cache>

  <cache
    name="org.hibernate.cache.spi.UpdateTimestampsCache"
    maxElementsInMemory="10000"
    eternal="true">
  </cache>

</ehcache>

Ответы на вопрос(1)

Ваш ответ на вопрос