Seam a LazyInitializationException

Czytamy że seam pozwala zawsze unikać LazyInitializationException. Jest to nawet prawie prawda.

Ja raz trafiłem na moment gdzie mimo używania seama dostałem ten wyjątek. Oczywiście moja wina!

To make a long story short. Używałem seamowego frameworku z obiektami home, no i w obiekcie home musiałem przepakować jakąś kolekcję1. No i na pierwszym wywołaniu metody na kolekcji encji rzucało LazyInitializationException.

Bug był taki że w klasie encji nie inicjalizowałem pustej kolekcji.

Było:

@OneToMany() 
@MapKey(name="semestr")
Map<String, SemestrPlanStudiowMapper> semestrPlanStodiow;

Powinno być;

@OneToMany() 
@MapKey(name="semestr")
Map<String, SemestrPlanStudiowMapper> semestrPlanStodiow = new HashMap<String, SemestrPlanStudiowMapper>();
O ile nie zaznaczono inaczej, treść tej strony objęta jest licencją Creative Commons Attribution-NonCommercial-NoDerivs 3.0 License