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

Skoleni bylo kazdopadne prinosne, i kdyz ve Springu uz chvilku delam, dodalo mi to kontext a hlubsi porozumeni. Libil se mi i prehled dalsich frameworku, jejich prakticke vyuziti a ze

Daniela

Školení bylo profesionální jako vždy (přesto v přátelském a otevřeném duchu). Je vidět, že Jirka je v dané problematice jako ryba ve vodě a neustále se posouvá kupředu, k čemuž

Aleš

Vyborna forma skoleni - vedeno lektorem podle dane linie se zacilenim na konkretni problematiku, nicmene s moznosti kdykoliv odbocit co vic upresnit problematiku na zaklade dotazu. Velmi uzitecne zejmena v

Petr


Novinky

6.5.2018: Java Mission Control je nyní open source - konečně!

5.4.2018: Jak hodně artifactů v Mavenu je připravených na použití v module path?
Od Java 9 je možné místo class path používat module path. K tomu je ale důležité, aby každý artifact který používáte měl definované jméno

26.3.2018: Java 10 je tady, Java 9 je EOL
Ještě jsem všude nepřešel na Java 9 a devítka už je EOL (End of Life).