Hibernate 4.1.6 finally solves this issue: https://hibernate.atlassian.net/browse/HHH-7457
You need to set the hibernate-property hibernate.enable_lazy_load_no_trans=true
Here’s how to do it in Spring:
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="dataSource" ref="myDataSource"/>
<property name="packagesToScan" value="com.mycompany.somepackage"/>
<property name="jpaVendorAdapter" ref="hibernateVendorAdapter"/>
<property name="jpaDialect" ref="jpaDialect"/>
<property name="jpaProperties">
<props>
<prop key="hibernate.enable_lazy_load_no_trans">true</prop>
</props>
</property>
</bean>
Voila; Now you don’t have to worry about LazyInitializationException while navigating your domain-model outside of a hibernate-session (persistence-context in “JPA-speak”)