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:
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.
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