Po tym, jak moje zapytania (odnośniki) zostają zbuforowane, sesja zostaje zamknięta, w nowej sesji hibernacja eksmituje wszystko po zmianie DB przez losowe zapytanie SQL, jak mogę to zatrzymać? wydarzenie ? Zajmuję się tworzeniem zasad dla rzeczy, które rzadko się zmieniają.hibernacja cache hibernacji hibernacji, hibernacja eksmituje się automatycznie
INFO Executing [namedSqlQuery=dao.web_login, objs=[user1]]
DEBUG org.springframework.orm.hibernate3.SessionFactoryUtils user1- Opening Hibernate Session
DEBUG org.hibernate.impl.SessionImpl user1 - opened session at timestamp: 5511432318976000
DEBUG org.hibernate.impl.SessionFactoryImpl user1- evicting second-level cache: USERS_LOOKUP
DEBUG org.hibernate.impl.SessionFactoryImpl user1- evicting second-level cache: COUNTRY_LOOKUP
ecache.xml
<cache name="query.oneHourPolicy"
maxElementsInMemory="10000"
eternal="false"
timeToLiveSeconds="3600"
diskPersistent="true"
overflowToDisk="true"/>
konfiguracja sprężyny hibernacji
<prop key="hibernate.cache.use_second_level_cache">true</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
<prop key="hibernate.cache.provider_class">net.sf.ehcache.hibernate.SingletonEhCacheProvider</prop>
<prop key="hibernate.cache.provider_configuration_file_resource_path">ehcache.xml</prop>
Czy Twój CacheMode jest ustawiony jako REFRESH (np. CacheMode.REFRESH) – Santosh
Nie, napisałem klasę junit, aby uruchamiać te same zapytania w tej samej sesji bez losowego SQL pomiędzy i przechodzi od 20 sekund do 1 sekundy, aby uzyskać odpowiedź. – Rodriguez
JUnit log 0st time - 20134 ms 1 raz - 207 ms 2-gi czas - 183 ms 3-gi czas - 179 ms 4-ty czas - 185 ms z losowym zapytaniem sql 5-ga czas - 20043 ms 6-sza sekunda - 182 ms 7-ga czas - 181 ms 8-ga czas - 177 ms - 9-ta godzina - 179 ms – Rodriguez