Jedno z možných řešení výjimky LazyInitializationException v Hibernate

publikováno: 8.5.2013

Také Vás trápí výjimka typu LazyInitializationException když používáte Hibernate a v prezentační vrstvě používáte entity? Pokud používáte Spring, pak pro Vás mám jedno z možných řešení a to je rozšíření transakce až na úroveň prezentační vrstvy. Do Servlet context konfiguračního souboru Springu jednoduše přidejte:

<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/*" />
<bean
class="org.springframework.orm.jpa.support.OpenEntityManagerInViewInterceptor">
<property name="entityManagerFactory" ref="myEmf" />
</bean>
</mvc:interceptor>
</mvc:interceptors>

 

Poznámka: Také existuje třída OpenSessionInViewInterceptor, která umí to samé když používáte Hibernate-specifickou konfiguraci ve Springu.

Reference

Jedno z nejlepších školení za poslední roky. Kromě seznámení se Springem apod. mě velmi příjemně překvapila hluboká znalost probírané látky a schopnost ji srozumitelně vysvětlit v případě ad hoc dotazů.

Jaroslav

Velmi jsem oceňoval různorodost školení a široký záběr z java světa + schopnost rychle reagovat na všechny otázky, ať se týkaly jakéhokoliv tématu v Javě. Také se mi líbili různé

Marek

uvolnena atmosfera. nekdo by si mozna myslel, ze az moc, ale mne to tak vyhovuje a paradoxne pomaha k soustredeni :) no a spousta zajimavosti, preci jen je citit, kdyz s

Vojtěch


Novinky

20.10.2019: Don't Put Fat Jars in Docker Images: Optimalizace

20.10.2019: Spring Boot 2.2.0!!!

20.10.2019: JDBC Driver Maven dependency list: Oracle drivery jsou v Maven Central!!!