RESOLVIDO: Spring 2.5 + Hibernate3/JPA + OpenEntityManagerInViewFilter = LazyInitializationException

Boa tarde galera do GUJ,

Mal fecho um tópico já estou abrindo outro! rs…

A dúvida agora é pelo famigerado: LazyInitializationException.

Ele é disparado durante a execução de uma jsp, mesmo eu configurando o OpenEntityManagerInViewFilter. =/

Bom, contextualizando: possuo 3 projetos:

com.xpto.util - utilitários gerais - StringUtils/GenericDAO e etc. - referencia para Spring/Hibernate e etc.

e

com.xpto.core - regras de negocio, services/entities/daos e etc. - referencia com.xpto.util

e

com.xpto.site - camada de apresentação - vraptor3/tiles2/jstl e etc - referencia com.xpto.core

este possui o seu applicationContext:

[code]

    <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
       <property name="persistenceUnitName" value="persistence-unit"/>
    </bean>

    <bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
        <property name="entityManagerFactory" ref="entityManagerFactory" />
    </bean>    
    <tx:annotation-driven transaction-manager="transactionManager" />

    <bean class="org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor"/>

    <bean class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor"/>    

    <context:annotation-config />

    <context:component-scan base-package="com.xpto.*"/>

[/code]
e também possui o seu web.xml com o OpenEntityManagerInViewFilter configurado:

[code]

<display-name>com.xpto.site</display-name>

<welcome-file-list>
	<welcome-file>index.html</welcome-file>
	<welcome-file>index.htm</welcome-file>
	<welcome-file>index.jsp</welcome-file>
	<welcome-file>default.html</welcome-file>
	<welcome-file>default.htm</welcome-file>
	<welcome-file>default.jsp</welcome-file>
</welcome-file-list>

<!-- spring configuration -->
<listener>
	<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
	<param-name>contextConfigLocation</param-name>
	<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>

<listener>
	<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>

<filter>
	<filter-name>openEntityManagerInView</filter-name>
	<filter-class>org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter</filter-class>
</filter>

<filter-mapping>
	<filter-name>openEntityManagerInView</filter-name>
	<url-pattern>/*</url-pattern>
</filter-mapping>

<filter>
    <filter-name>encoding-filter</filter-name>
    <filter-class>
        org.springframework.web.filter.CharacterEncodingFilter
    </filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
</filter>

<filter-mapping>
    <filter-name>encoding-filter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

<!-- /spring configuration -->

<!-- tiles configuration -->
<servlet>
	<servlet-name>TilesServlet</servlet-name>
	<servlet-class>org.apache.tiles.web.startup.TilesServlet</servlet-class>
	<init-param>
		<param-name>org.apache.tiles.factory.TilesContainerFactory.MUTABLE</param-name>
		<param-value>true</param-value>
	</init-param>
	<load-on-startup>2</load-on-startup>
</servlet>
<!-- /tiles configuration -->

<!-- vraptor configuration -->
<filter>
    <filter-name>vraptor</filter-name>
    <filter-class>br.com.caelum.vraptor.VRaptor</filter-class>
</filter>

<filter-mapping>
    <filter-name>vraptor</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>REQUEST</dispatcher>
</filter-mapping>
<!-- vraptor configuration -->

[/code]
Bom, um último adendo, é que todas as Minhas DAO’s extendem uma daogenerica:

[code]@Transactional
public abstract class GenericHibernateDAOImpl<TYPE, ID extends Serializable> implements GenericDAO<TYPE, ID> {

private Class<TYPE> persistentClass;

@PersistenceContext
private EntityManager entityManager;

@SuppressWarnings("unchecked")
public GenericHibernateDAOImpl() {

	ParameterizedType paramType = null;
	Type type = getClass().getGenericSuperclass();

	if (type instanceof ParameterizedType) {

		paramType = (ParameterizedType) type;

	} else {

		paramType = (ParameterizedType) getClass().getSuperclass().getGenericSuperclass();
	}

	if (paramType.getActualTypeArguments().length == 2) {

		if (paramType.getActualTypeArguments()[1] instanceof TypeVariable) {

			throw new IllegalArgumentException("Could not persistent entity class using reflection");

		} else {

			this.persistentClass = (Class<TYPE>) paramType.getActualTypeArguments()[1];
		}

	} else {

		this.persistentClass = (Class<TYPE>) paramType.getActualTypeArguments()[0];
	}
}


public void delete(final TYPE entity) {

	this.getEntityManager().remove(entity);
};

public TYPE loadById(final ID id) {

	return (TYPE) this.getEntityManager().find(this.getEntityClass(), id);
};

@SuppressWarnings("unchecked")
@Override
public List<TYPE> listAll() {

	return this.getSession()
					.createCriteria(this.getEntityClass()) 
							.list();
}

public TYPE saveOrUpdate(final TYPE entity) {

	final TYPE obj = (TYPE)this.getEntityManager().merge(entity);

	return obj;
};

protected EntityManager getEntityManager() {

	return this.entityManager;
}

protected Class<TYPE> getEntityClass() {

	return this.persistentClass;
}

protected Session getSession() {

	Session session = null;

	if (this.entityManager.getDelegate() instanceof EntityManagerImpl) {

	    EntityManagerImpl entityManagerImpl = (EntityManagerImpl) this.entityManager.getDelegate();  
	    session = entityManagerImpl.getSession();

	} else {

	    session = (Session) this.entityManager.getDelegate();  
	}

	return session;
}

@Override
public void flush() {

	this.getEntityManager().flush();
}

}[/code]
O mais curioso, é que, segundo o DEBUG do Spring, o fechamento do JPA EntityManager só acontece depois que dá o erro!

Segue trecho do stacktrace em modo DEBUG:

SITE: 14:18:18,059 DEBUG [TransactionSynchronizationManager] Initializing transaction synchronization SITE: 14:18:18,059 DEBUG [TransactionSynchronizationManager] Retrieved value [org.springframework.orm.jpa.EntityManagerHolder@12fb24c] for key [org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean@d3cae0] bound to thread [http-8081-2] SITE: 14:18:18,059 DEBUG [TransactionSynchronizationManager] Retrieved value [org.springframework.orm.jpa.EntityManagerHolder@12fb24c] for key [org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean@d3cae0] bound to thread [http-8081-2] SITE: 14:18:18,061 DEBUG [JpaTransactionManager] Triggering beforeCommit synchronization SITE: 14:18:18,061 DEBUG [JpaTransactionManager] Triggering beforeCompletion synchronization SITE: 14:18:18,061 DEBUG [JpaTransactionManager] Initiating transaction commit SITE: 14:18:18,062 DEBUG [JpaTransactionManager] Committing JPA transaction on EntityManager [org.hibernate.ejb.EntityManagerImpl@1aea6e2] SITE: 14:18:18,071 DEBUG [JpaTransactionManager] Triggering afterCommit synchronization SITE: 14:18:18,071 DEBUG [JpaTransactionManager] Triggering afterCompletion synchronization SITE: 14:18:18,071 DEBUG [TransactionSynchronizationManager] Clearing transaction synchronization SITE: 14:18:18,071 DEBUG [JpaTransactionManager] Not closing pre-bound JPA EntityManager after transaction SITE: 14:18:18,071 DEBUG [DefaultListableBeanFactory] Creating instance of bean 'outjectResult' SITE: 14:18:18,073 DEBUG [DefaultListableBeanFactory] Returning cached instance of singleton bean 'defaultTypeNameExtractor' SITE: 14:18:18,073 DEBUG [DefaultListableBeanFactory] Finished creating instance of bean 'outjectResult' SITE: 14:18:18,073 DEBUG [DefaultListableBeanFactory] Creating instance of bean 'downloadInterceptor' SITE: 14:18:18,074 DEBUG [DefaultListableBeanFactory] Returning cached instance of singleton bean 'httpServletResponseProvider' SITE: 14:18:18,075 DEBUG [DefaultListableBeanFactory] Finished creating instance of bean 'downloadInterceptor' SITE: 14:18:18,075 DEBUG [DefaultListableBeanFactory] Creating instance of bean 'forwardToDefaultViewInterceptor' SITE: 14:18:18,076 DEBUG [DefaultListableBeanFactory] Finished creating instance of bean 'forwardToDefaultViewInterceptor' SITE: 14:18:18,077 DEBUG [DefaultListableBeanFactory] Creating instance of bean 'defaultPageResult' SITE: 14:18:18,077 DEBUG [DefaultListableBeanFactory] Returning cached instance of singleton bean 'httpServletRequestProvider' SITE: 14:18:18,078 DEBUG [DefaultListableBeanFactory] Returning cached instance of singleton bean 'httpServletResponseProvider' SITE: 14:18:18,079 DEBUG [DefaultListableBeanFactory] Creating instance of bean 'defaultPathResolver' SITE: 14:18:18,079 DEBUG [DefaultListableBeanFactory] Creating instance of bean 'defaultFormatResolver' SITE: 14:18:18,080 DEBUG [DefaultListableBeanFactory] Returning cached instance of singleton bean 'httpServletRequestProvider' SITE: 14:18:18,080 DEBUG [DefaultListableBeanFactory] Returning cached instance of singleton bean 'defaultAcceptHeaderToFormat' SITE: 14:18:18,080 DEBUG [DefaultListableBeanFactory] Finished creating instance of bean 'defaultFormatResolver' SITE: 14:18:18,081 DEBUG [DefaultListableBeanFactory] Finished creating instance of bean 'defaultPathResolver' SITE: 14:18:18,081 DEBUG [DefaultListableBeanFactory] Returning cached instance of singleton bean 'objenesisProxifier' SITE: 14:18:18,081 DEBUG [DefaultListableBeanFactory] Finished creating instance of bean 'defaultPageResult' SITE: 14:18:18,155 ERROR [LazyInitializationException] failed to lazily initialize a collection of role: com.xpto.domain.model.entity.Employee.contacts, no session or session was closed org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.xpto.domain.model.entity.Employee.contacts, no session or session was closed at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:380) at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:372) at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:365) at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:108) at org.hibernate.collection.PersistentSet.iterator(PersistentSet.java:186) at org.apache.taglibs.standard.tag.common.core.ForEachSupport.toForEachIterator(ForEachSupport.java:348) at org.apache.taglibs.standard.tag.common.core.ForEachSupport.supportedTypeForEachIterator(ForEachSupport.java:224) at org.apache.taglibs.standard.tag.common.core.ForEachSupport.prepare(ForEachSupport.java:155) at javax.servlet.jsp.jstl.core.LoopTagSupport.doStartTag(LoopTagSupport.java:256) at org.apache.jsp.WEB_002dINF.jsp.user.contacts_jsp._jspx_meth_c_005fforEach_005f0(contacts_jsp.java:125) at org.apache.jsp.WEB_002dINF.jsp.user.contacts_jsp._jspService(contacts_jsp.java:75) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646) at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:551) at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:488) at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968) at org.apache.jasper.runtime.PageContextImpl.doInclude(PageContextImpl.java:650) at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:644) at org.apache.tiles.jsp.context.JspTilesRequestContext.include(JspTilesRequestContext.java:103) at org.apache.tiles.jsp.context.JspTilesRequestContext.dispatch(JspTilesRequestContext.java:96) at org.apache.tiles.renderer.impl.TemplateAttributeRenderer.write(TemplateAttributeRenderer.java:44) at org.apache.tiles.renderer.impl.AbstractBaseAttributeRenderer.render(AbstractBaseAttributeRenderer.java:106) at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:670) at org.apache.tiles.impl.BasicTilesContainer.render(BasicTilesContainer.java:690) at org.apache.tiles.impl.BasicTilesContainer.renderContext(BasicTilesContainer.java:179) at org.apache.tiles.template.InsertTemplateModel.end(InsertTemplateModel.java:101) at org.apache.tiles.jsp.taglib.InsertTemplateTag.doTag(InsertTemplateTag.java:255) at org.apache.jsp.WEB_002dINF.jsp.user.profile_jsp._jspx_meth_tiles_005finsertTemplate_005f2(profile_jsp.java:155) at org.apache.jsp.WEB_002dINF.jsp.user.profile_jsp.access$4(profile_jsp.java:144) at org.apache.jsp.WEB_002dINF.jsp.user.profile_jsp$Helper.invoke1(profile_jsp.java:239) at org.apache.jsp.WEB_002dINF.jsp.user.profile_jsp$Helper.invoke(profile_jsp.java:409) at org.apache.tiles.jsp.context.JspUtil.evaluateFragmentAsString(JspUtil.java:297) at org.apache.tiles.jsp.taglib.PutAttributeTag.doTag(PutAttributeTag.java:256) at org.apache.jsp.WEB_002dINF.jsp.user.profile_jsp._jspx_meth_tiles_005fputAttribute_005f1(profile_jsp.java:123) at org.apache.jsp.WEB_002dINF.jsp.user.profile_jsp.access$1(profile_jsp.java:109) at org.apache.jsp.WEB_002dINF.jsp.user.profile_jsp$Helper.invoke0(profile_jsp.java:217) at org.apache.jsp.WEB_002dINF.jsp.user.profile_jsp$Helper.invoke(profile_jsp.java:406) at org.apache.tiles.jsp.context.JspUtil.evaluateFragment(JspUtil.java:279) at org.apache.tiles.jsp.taglib.InsertTemplateTag.doTag(InsertTemplateTag.java:254) at org.apache.jsp.WEB_002dINF.jsp.user.profile_jsp._jspx_meth_tiles_005finsertTemplate_005f0(profile_jsp.java:84) at org.apache.jsp.WEB_002dINF.jsp.user.profile_jsp._jspService(profile_jsp.java:57) at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377) at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at br.com.caelum.vraptor.core.DefaultStaticContentHandler.deferProcessingToContainer(DefaultStaticContentHandler.java:64) at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:80) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302) at br.com.caelum.vraptor.view.DefaultPageResult.forward(DefaultPageResult.java:67) at br.com.caelum.vraptor.extra.ForwardToDefaultViewInterceptor.intercept(ForwardToDefaultViewInterceptor.java:59) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65) at br.com.caelum.vraptor.interceptor.OutjectResult.intercept(OutjectResult.java:64) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65) at br.com.caelum.vraptor.interceptor.ExecuteMethodInterceptor.intercept(ExecuteMethodInterceptor.java:75) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65) at br.com.caelum.vraptor.interceptor.ParametersInstantiatorInterceptor.intercept(ParametersInstantiatorInterceptor.java:86) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65) at br.com.caelum.vraptor.interceptor.InstantiateInterceptor.intercept(InstantiateInterceptor.java:42) at br.com.caelum.vraptor.core.InstantiatedInterceptorHandler.execute(InstantiatedInterceptorHandler.java:47) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65) at com.xpto.site.util.AuthorizationInterceptor.intercept(AuthorizationInterceptor.java:69) at br.com.caelum.vraptor.core.InstantiatedInterceptorHandler.execute(InstantiatedInterceptorHandler.java:47) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65) at br.com.caelum.vraptor.interceptor.InterceptorListPriorToExecutionExtractor.intercept(InterceptorListPriorToExecutionExtractor.java:46) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65) at br.com.caelum.vraptor.interceptor.FlashInterceptor.intercept(FlashInterceptor.java:81) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65) at br.com.caelum.vraptor.interceptor.ResourceLookupInterceptor.intercept(ResourceLookupInterceptor.java:67) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:54) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65) at br.com.caelum.vraptor.core.ToInstantiateInterceptorHandler.execute(ToInstantiateInterceptorHandler.java:56) at br.com.caelum.vraptor.core.DefaultInterceptorStack.next(DefaultInterceptorStack.java:65) at br.com.caelum.vraptor.core.DefaultRequestExecution.execute(DefaultRequestExecution.java:70) at br.com.caelum.vraptor.VRaptor$1.insideRequest(VRaptor.java:92) at br.com.caelum.vraptor.ioc.spring.SpringProvider.provideForRequest(SpringProvider.java:56) at br.com.caelum.vraptor.VRaptor.doFilter(VRaptor.java:89) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:96) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:112) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:619) SITE: 14:18:18,183 DEBUG [RequestContextListener] Cleared thread-bound request context: [VRaptorRequest org.apache.catalina.connector.RequestFacade@1c7c4c] SITE: 14:18:18,183 DEBUG [TransactionSynchronizationManager] Removed value [org.springframework.orm.jpa.EntityManagerHolder@12fb24c] for key [org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean@d3cae0] from thread [http-8081-2] SITE: 14:18:18,183 DEBUG [OpenEntityManagerInViewFilter] Closing JPA EntityManager in OpenEntityManagerInViewFilter SITE: 14:18:18,183 DEBUG [EntityManagerFactoryUtils] Closing JPA EntityManager EBUG [RequestContextListener] Cleared thread-bound request context: [VRaptorRequest org.apache.catalina.connector.RequestFacade@1c7c4c] SITE: 14:18:18,183 DEBUG [TransactionSynchronizationManager] Removed value [org.springframework.orm.jpa.EntityManagerHolder@12fb24c] for key [org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean@d3cae0] from thread [http-8081-2] SITE: 14:18:18,183 DEBUG [OpenEntityManagerInViewFilter] Closing JPA EntityManager in OpenEntityManagerInViewFilter SITE: 14:18:18,183 DEBUG [EntityManagerFactoryUtils] Closing JPA EntityManagerEBUG [RequestContextListener] Cleared thread-bound request context: [VRaptorRequest org.apache.catalina.connector.RequestFacade@1c7c4c] SITE: 14:18:18,183 DEBUG [TransactionSynchronizationManager] Removed value [org.springframework.orm.jpa.EntityManagerHolder@12fb24c] for key [org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean@d3cae0] from thread [http-8081-2] SITE: 14:18:18,183 DEBUG [OpenEntityManagerInViewFilter] Closing JPA EntityManager in OpenEntityManagerInViewFilter SITE: 14:18:18,183 DEBUG [EntityManagerFactoryUtils] Closing JPA EntityManagerAlguém tem alguma dica de pq mesmo com o OpenEntityManagerInViewFilter configurado eu recebo o LazyInitializationException? Será que há alguma configuração errada?

Agradeço antecipadamente.

Tenta assim:

@PersistenceContext(type=PersistenceContextType.EXTENDED).

Caso funcione eu sugiro ler a documentação para os impactos desta alteração.

Faaala Daniel!

Realmente funcionou!!!

Vou dar uma olhada na documentação como vc sugeriu!

Muito obrigado pela atenção

De nada, depois você aqui e me conta dos impactos e por favor coloca resolvido neste tópico caso funcione.

Aproveitando, uma pergunta meio Hommer! (huahauh)

Como eu coloco um tópico como Solved? Não acho nenhum botão! (rs…)

Valews!

Vai no botão editar do seu primeiro post e coloca na frente do título ‘resolvido’.

Por favor.