2013. február 22., péntek

Hibernate second level cache

A kiindulási persistenceContext.xml, amit megmódosítunk jól, hogy a Hibernate ehcache segítségével kicsit fürgébb legyen:


  
  
 

 
  
  
  
   
    
    
   
  
  
 



A fájl többi tartalma irreleváns, feltételezem, hogy fel tudsz építeni egy Spring Data JPA projektet Hibernate-el, most nem ez a poszt lényege :)

Ha szeretnéd az L2 cache-t használni, szükséged lesz a következő függőség felvételére a pom.xml-ben:


   org.hibernate
   hibernate-ehcache
   ${hibernate.version}
  

Ebből ki is derül, hogy az ehcache-t fogjuk használni.

A persistenceContext.xml a következőképpen változik:


És az ehcache.xml:

Ezek után értelemszerűen az entitásainkat is fel kell annotálni, hogy tudjon róla a rendszer, melyiket kell cache-elni, és melyiket nem:

Ha ezzel is megvagyunk, és a net.sf.ehcache loglevel-jét DEBUG-ra állítjuk, láthatjuk boot-olás közben, amint az entitásunkról gondoskodik a rendszer:



A boot rendben van, lássunk két lekérdezést. Az első alkalommal látható, hogy még nincs cache-elt verziója az entitásunknak, a második lekérdezés során pedig már cache-ből jön az eredményünk:



Most ezt én nem is cizellálnám túl, pusztán azért írtam le, hogy mi a menete ebben a környezteben (Spring, Hibernate, JPA) a cache belövésének, mert nem találtam erre dokumentációt sehol.

Nincsenek megjegyzések:

Megjegyzés küldése