Erro doido no Hibernate de Session closed?

2 respostas
aorocha

Pessoal estou tentando puxar um obj de 3 nivel de um Obj e o Hibernate me dar erro de session closed, mas a session esta aberta, muito estranho, olhem e veja o código:

SolicitacaoGerenciador gerSol = (SolicitacaoGerenciador) input.getValue("solicitacaoGerenciador");
		soli = gerSol.getSolicitacao(soli.getId());


		System.out.println("Centro de Custo : " + soli.getCentrocusto().getNome());

		System.out.println("Cliente : " + soli.getCentrocusto().getClienteportal().getNome());

		System.out.println("Session do hibernate: " + gerSol.getDao().getSession().isOpen());

		System.out.println("Regional do CC : " + soli.getCentrocusto().getRegional().getNome());

erro no console:

Centro de Custo : teste Cliente : NIVEA Session do hibernate: true 17:51:59,187 ERROR LazyInitializationException:19 - could not initialize proxy - no Session org.hibernate.LazyInitializationException: could not initialize proxy - no Session at org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:57) at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:111) at org.hibernate.proxy.pojo.cglib.CGLIBLazyInitializer.invoke(CGLIBLazyInitializer.java:150) at br.com.maringa.requisicao.pojo.Regional$$EnhancerByCGLIB$$46b3c795.getNome(<generated>) at br.com.maringa.requisicao.processo.sol.ProcessoSVAction.confirmar(ProcessoSVAction.java:629) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:302) at org.mentawai.filter.InjectionFilter.filter(InjectionFilter.java:114) at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:116) at ressubmissao.filter.SubmissionFilter.filter(SubmissionFilter.java:35) at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:116) at filtros.TotalizarStatusFilter.filter(TotalizarStatusFilter.java:17) at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:116) at org.mentawai.filter.DIFilter.filter(DIFilter.java:206) at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:116) at org.mentawai.filter.HibernateFilter.filter(HibernateFilter.java:187) at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:116) at org.mentawai.filter.IoCFilter.filter(IoCFilter.java:83) at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:116) at org.mentawai.filter.AuthenticationFilter.filter(AuthenticationFilter.java:95) at org.mentawai.core.InvocationChain.invoke(InvocationChain.java:116) at org.mentawai.core.Controller.invokeAction(Controller.java:650) at org.mentawai.core.Controller.service(Controller.java:515) at javax.servlet.http.HttpServlet.service(HttpServlet.java:803) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.displaytag.filter.ResponseOverrideFilter.doFilter(ResponseOverrideFilter.java:125) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at com.opensymphony.module.sitemesh.filter.PageFilter.parsePage(PageFilter.java:119) at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:55) 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:230) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:261) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:581) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:595)

na ultima linha que dar o erro onde quero buscar o regional, mas a session esta aberta, o que será que pode ser?

2 Respostas

P

http://www.javalobby.org/java/forums/t20533.html
http://www.guj.com.br/posts/list/32131.java

http://www.guj.com.br/jforum.java?module=search&action=search&search_keywords=lazy&match_type=all&search_forum=&sort_by=relevance

aorocha

Mas já estou usando lazy.

@ManyToOne(cascade = {}, fetch = FetchType.LAZY)
	@JoinColumn(name = "idregional", unique = false, nullable = false, insertable = true, updatable = true)
	public Regional getRegional() {
		return this.regional;
	}

	public void setRegional(Regional regional) {
		this.regional = regional;
	}
Criado 26 de outubro de 2007
Ultima resposta 26 de out. de 2007
Respostas 2
Participantes 2