<filter> <filter-name>sessionFilter</filter-name> <filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class></filter><
<filter> <filter-name>sessionFilter</filter-name> <url-pattern>*.xhtml</url-pattern></filter>
Po jego uaktywnieniu, w przypadku odwołania się do dynamicznie ładowanej kolekcji/obiektu nie powinien się już pojawiać błąd:
org.hibernate.LazyInitializationException: could not initialize proxy - no Session
Jednak wykorzystywanie filtra niesie za sobą również pewne problemy. Jak jest napisane w dokumentacji:
WARNING: Applying this filter to existing logic can cause issues that have not appeared before, through the use of a single Hibernate Session for the processing of an entire request. In particular, the reassociation of persistent objects with a Hibernate Session has to occur at the very beginning of request processing, to avoid clashes with already loaded instances of the same objects.
Należy zwrócić szczególną uwagę na wykorzystanie filtra w działających już aplikacjach (może nagle zmienić się ich funkcjonowanie) oraz zwrócić uwagę na możliwe błędy w aktualnie tworzonym kodzie (w szczególności na operacje ponownego przypisania obiektów do sesji Hibernate).