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

Školení mi pomohlo ujasnit si jak má správně probíhat testování kódu, představilo užitečné knihovny a nástroje. Vše bylo podáno zábavnou formou, takže nebyl problém udržet pozornost. Navíc byl výhodou dostatek

Certicon
David

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

Přestože jsem Cčkař, tak jsem se na školení JUnit dozvěděl nové věci. Zejména co se týče metodiky jednotkového testování a některých odborných termínů.

Retia
Jaromír


Novinky

25.1.2020: Visual Studio Code & Docker
Obvykle jsem velice opatrný ohledně všeho co pochází z dílny Microsoftu, ale zrovna Visual Studio Code je jeden z velice povedených projektů ...

25.1.2020: Zajímavé pluginy pro IntelliJ Idea
Vojtěch Růžička na svůj blog dal seznam sedmnácti pluginů pro IntelliJ Idea

16.1.2020: Pozor na jcenter repozitář (výchozí repozitář v Gradle)
Pozor na jcenter repozitář (výchozí repozitář v Gradle), v minulosti obsahoval falešné dependency (a stále tomu tak může být).