моя конфигурация следующая:
persitence.xml
<property name="hibernate.cache.provider_class" value="org.hibernate.cache.SingletonEhCacheProvider"/>
<property name="hibernate.ejb.classcache.demo.entities.UserID" value="read-only"/>
<property name="javax.persistence.sharedCache.mode" value="ALL"/>
ehcache.xml
<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://ehcache.org/ehcache.xsd" updateCheck="false">
<diskStore path="java.io.tmpdir/Customer-portlet-cache"/>
<defaultCache eternal="false" maxElementsInMemory="1000"
overflowToDisk="false" diskPersistent="false" timeToIdleSeconds="0"
timeToLiveSeconds="600" memoryStoreEvictionPolicy="LRU"/>
<cache name="userCache" eternal="true"
maxElementsInMemory="999" overflowToDisk="true"
diskPersistent="true" timeToIdleSeconds="0"
timeToLiveSeconds="300" memoryStoreEvictionPolicy="LRU"/>
</ehcache>
У меня есть аннотированный компонент Seam @Create, который получает список всех идентификаторов пользователей и сохраняет их в кеше.Идея здесь состоит в том, чтобы получить приложение с теплым кэшем, но когда я получаю доступ к сущностям из приложения, я начинаю получать повторные исключения Lazy Initialization (поскольку сущность не связана с persistenceContext и имеет некоторые отношения OneToMany и ManyToMany, и онине будет загружаться с сущностью, и если я установлю тип выборки как нетерпеливый, я попаду в более неприятные области)
Есть ли способ или обходной путь для получения теплого кэша, когда пользователи получают доступ к приложениям.