Ainda não tem acesso? Estude com a gente! Matricule-se
Ainda não tem acesso? Estude com a gente! Matricule-se

Solucionado (ver solução)

Adicionado a lista para exibir categorias

Olá galera.

Meu código apresentou erro ao tentar listar as categorias com a informação abaixo:

Type Exception Report

Message An exception occurred processing [/WEB-INF/views/home.jsp] at line [21]

Description The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

org.apache.jasper.JasperException: An exception occurred processing [/WEB-INF/views/home.jsp] at line [21]

18:                                 width="150" height="200">
19:                             </a>
20:                         <p>
21:                             <c:forEach items="${produto.categorias}" var="cat">
22:                                 <li>${cat.nome}</li>
23:                             </c:forEach>
24:                             <a class="btn btn-default"


Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:617)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:514)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:386)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:330)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:168)
    org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:303)
    org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1244)
    org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1027)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:971)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)
    org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:857)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
    org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

Root Cause

org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: br.com.caelum.model.Produto.categoria, could not initialize proxy - no Session
1 resposta
solução

Olá Rogério!

Todos os relacionamentos existe duas possibilidades.

  1. você configurou o fetch=FetchType.LAZY
  2. você está usando um relacionamento *ToMany que por padrão é LAZY.

Solução: É só configurar o modo FetchType para fetch=FetchType.EAGER

recomento você ler o post da caelum para entender sobre o assunto: https://blog.caelum.com.br/enfrentando-a-lazyinitializationexception-no-hibernate/