Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

HTTP Status 500 - Request processing failed; nested exception is javax.persistence.NoResultException: No entity found for query

Bom dia ! Estou com problemas no código DETALHE.JSP salvei a versão mais nova do site casa do código adaptei o código através da vídeo aula, mais as tags estão bem mudadas dessa nova versão atual, para a versão de vocês. Percebi que através da leitura do material didático de vocês tem um link disponível para baixar o código mais não funcionou da mesma forma. Quando digito na URL localhost..........casadocodigo/produtos/detalhe/6

emite a mensagem .......HTTP Status 500 - Request processing failed; nested exception is javax.persistence.NoResultException: No entity found for query !

package br.com.casadocodigo.loja.controllers;

import java.util.List;

import javax.validation.Valid;

import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.validation.BindingResult; import org.springframework.web.bind.WebDataBinder; import org.springframework.web.bind.annotation.InitBinder; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.support.RedirectAttributes; import br.com.casadocodigo.loja.daos.ProdutoDAO; import br.com.casadocodigo.loja.infra.FileSaver; import br.com.casadocodigo.loja.models.Produto; import br.com.casadocodigo.loja.models.TipoPreco; import br.com.casadocodigo.loja.validation.ProdutoValidation;

@Controller @RequestMapping("/produtos") public class ProdutosController {

@Autowired private ProdutoDAO produtoDAO;

@InitBinder public void initBinder(WebDataBinder binder) { binder.addValidators (new ProdutoValidation());

}

@RequestMapping("/form") public ModelAndView form(Produto produto) {

ModelAndView modelAndView = new ModelAndView("produtos/form"); modelAndView.addObject("tipos", TipoPreco.values());

return modelAndView;

}

@RequestMapping(method=RequestMethod.POST)// e para gravar public ModelAndView gravar(MultipartFile sumario, @Valid Produto produto,BindingResult result, RedirectAttributes redirectAttributes) { // MultipartFile sumario criar na pagina principal a função ESCOLHER ARQUIVO //

new FileSaver();

if (result.hasErrors()) { return form(produto); }

System.out.println("produto"); produtoDAO.gravar(produto); redirectAttributes.addFlashAttribute("sucesso","Produto cadastrado com sucesso" ); return new ModelAndView ("redirect:produtos");//REDIRECT ESSA FUNÇÃO E UTILIZADA PARA O NAVEGADOR NAO REENVIAR AS INFORMAÇÕES ;

}

@RequestMapping(method=RequestMethod.GET)//para listar public ModelAndView listar(){ List produtos = produtoDAO.listar(); ModelAndView modelAndView = new ModelAndView("produtos/lista"); modelAndView.addObject("produtos", produtos); return modelAndView; }

@RequestMapping("/detalhe/{id}") public ModelAndView detalhe(@PathVariable("id") Integer id){ ModelAndView modelAndView = new ModelAndView("/produtos/detalhe"); Produto produto = produtoDAO.find(id); modelAndView.addObject("produto", produto); return modelAndView; } }

INSIRA O CODIGO

package br.com.casadocodigo.loja.daos;

import java.util.List;

import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import org.springframework.stereotype.Repository; import org.springframework.transaction.annotation.Transactional;

//import br.com.casadocodigo.loja.controllers.produto; import br.com.casadocodigo.loja.models.Produto;

@Repository @Transactional

public class ProdutoDAO {

@PersistenceContext

private EntityManager manager; public void gravar (Produto produto) { manager.persist(produto);

} public List listar(){ return manager.createQuery("select p from Produto p", Produto.class).getResultList(); } public Produto find(int id) { // TODO Auto-generated method stub

return manager.createQuery("select distinct(p) from Produto p join fetch p.precos precos where p.id = :id", Produto.class).setParameter("id", id).getSingleResult();

} }

INSIRA O CODIGO

package br.com.casadocodigo.loja.models;

import java.math.BigDecimal;

import javax.persistence.Embeddable;

@Embeddable public class Preco {

private BigDecimal valor; private TipoPreco tipo;

public BigDecimal getValor() { return valor; }

public void setValor(BigDecimal valor) { this.valor = valor; }

public TipoPreco getTipo() { return tipo; }

public void setTipo(TipoPreco tipo) { this.tipo = tipo; } }

INSIRA O CODIGO

package br.com.casadocodigo.loja.infra;

import java.io.File; import java.io.IOException;

import org.springframework.stereotype.Component; import org.springframework.web.multipart.MultipartFile;

@Component public class FileSaver {

public String write(String baseFolder, MultipartFile file) {

try { file.transferTo(new File(baseFolder + "/" + file.getOriginalFilename())); } catch (IllegalStateException | IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }

return baseFolder;

}

}

INSIRA O CODIGO

package br.com.casadocodigo.loja.conf;

import javax.servlet.Filter; import javax.servlet.MultipartConfigElement; import javax.servlet.ServletRegistration.Dynamic;

import org.springframework.web.filter.CharacterEncodingFilter; import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;

public class ServletSpringMvc extends AbstractAnnotationConfigDispatcherServletInitializer {

@Override protected Class<?>[] getRootConfigClasses() { // TODO Auto-generated method stub return null; }

@Override protected Class<?>[] getServletConfigClasses() { // TODO Auto-generated method stub return new Class[] {AppWebConfiguration.class, JPAConfiguration.class}; }

@Override protected String[] getServletMappings() { // TODO Auto-generated method stub return new String[] {"/"}; }

@Override protected Filter[] getServletFilters() {

CharacterEncodingFilter encodingFilter = new CharacterEncodingFilter(); encodingFilter.setEncoding("UTF-8");

return new Filter[] {encodingFilter}; }

@Override protected void customizeRegistration(Dynamic registration) { // TODO Auto-generated method stub registration.setMultipartConfig(new MultipartConfigElement(""));

}

}

INSIRA O CODIGO package br.com.casadocodigo.loja.models;

import java.util.Calendar; import java.util.List;

import javax.persistence.ElementCollection; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.Lob;

import org.springframework.format.annotation.DateTimeFormat;

@Entity

public class Produto {

@Id @GeneratedValue(strategy=GenerationType.IDENTITY) private int id;

private String titulo;

@Lob private String descricao; private int paginas;

@DateTimeFormat(pattern="dd/MM/yyyy") private Calendar dataLancamento;

@ElementCollection private List precos;

private String sumarioPath;

public String getTitulo() { return titulo; }

public void setTitulo(String titulo) { this.titulo = titulo; } public String getDescricao() { return descricao; } public String getSumarioPath() { return sumarioPath; }

public void setSumarioPath(String sumarioPath) { this.sumarioPath = sumarioPath; }

public void setDescricao(String descricao) { this.descricao = descricao; } public Calendar getDataLancamento() { return dataLancamento; }

public void setDataLancamento(Calendar dataLancamento) { this.dataLancamento = dataLancamento; }

public int getPaginas() { return paginas; } public void setPaginas(int paginas) { this.paginas = paginas; }

public int getId() { return id; }

public void setId(int id) { this.id = id; }

public List getPrecos() { return precos; }

public void setPrecos(List precos) { this.precos = precos; }

@Override public String toString() { return "Produto [titulo=" + titulo + ", descricao=" + descricao + ", paginas=" + paginas + "]"; }

}

INSIRA O CODIGO

DETALHE.JSP

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://www.springframework.org/tags/form" prefix="form" %> <%@ taglib uri="http://www.springframework.org/tags" prefix="s" %>

<!DOCTYPE html>

Título
Descrição
Paginas
Data de nascimento
${tipoPreco}
Sumario

INSIRA O CODIGO

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> <%@ taglib uri="http://www.springframework.org/tags" prefix="s"%> <!DOCTYPE html>

${produto.id}

${produtoi.descricao}

  • ${preco.tipo} R$ 39,90

    ${preco.valor}

Dados do livro:

Número de páginas: ${produto.paginas}/span>

Data de publicação: AQUI A DATA DE PUBLICAÇÃO

Encontrou um erro? Submeta uma errata

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- INSIRA CODIGO <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://www.springframework.org/tags" prefix="s" %> <!DOCTYPE html>

Lista de Produtos

${sucesso}
TítuloDescriçãoPáginas
${produto.titulo} ${produto.descricao}${produto.paginas}

INSIRA CODIGO

mar 16, 2017 9:47:08 AM org.apache.tomcat.util.digester.SetPropertiesRule begin ADVERTÊNCIA: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:casadocodigo' did not find a matching property. mar 16, 2017 9:47:08 AM org.apache.catalina.startup.VersionLoggerListener log INFORMAÇÕES: Server version: Apache Tomcat/7.0.75 mar 16, 2017 9:47:08 AM org.apache.catalina.startup.VersionLoggerListener log INFORMAÇÕES: Server built: Jan 18 2017 20:54:42 UTC mar 16, 2017 9:47:08 AM org.apache.catalina.startup.VersionLoggerListener log INFORMAÇÕES: Server number: 7.0.75.0 mar 16, 2017 9:47:08 AM org.apache.catalina.startup.VersionLoggerListener log INFORMAÇÕES: OS Name: Linux mar 16, 2017 9:47:08 AM org.apache.catalina.startup.VersionLoggerListener log INFORMAÇÕES: OS Version: 4.4.0-59-generic mar 16, 2017 9:47:08 AM org.apache.catalina.startup.VersionLoggerListener log INFORMAÇÕES: Architecture: amd64 mar 16, 2017 9:47:08 AM org.apache.catalina.startup.VersionLoggerListener log INFORMAÇÕES: Java Home: /usr/lib/jvm/jdk/jre mar 16, 2017 9:47:08 AM org.apache.catalina.startup.VersionLoggerListener log INFORMAÇÕES: JVM Version: 1.8.0121-b13 mar 16, 2017 9:47:08 AM org.apache.catalina.startup.VersionLoggerListener log INFORMAÇÕES: JVM Vendor: Oracle Corporation mar 16, 2017 9:47:08 AM org.apache.catalina.startup.VersionLoggerListener log INFORMAÇÕES: CATALINA_BASE: /home/rodrigo/Área de Trabalho/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0 mar 16, 2017 9:47:08 AM org.apache.catalina.startup.VersionLoggerListener log INFORMAÇÕES: CATALINA_HOME: /opt/apache-tomcat-7.0.75 mar 16, 2017 9:47:08 AM org.apache.catalina.startup.VersionLoggerListener log INFORMAÇÕES: Command line argument: -Dcatalina.base=/home/rodrigo/Área de Trabalho/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0 mar 16, 2017 9:47:08 AM org.apache.catalina.startup.VersionLoggerListener log INFORMAÇÕES: Command line argument: -Dcatalina.home=/opt/apache-tomcat-7.0.75 mar 16, 2017 9:47:08 AM org.apache.catalina.startup.VersionLoggerListener log INFORMAÇÕES: Command line argument: -Dwtp.deploy=/home/rodrigo/Área de Trabalho/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps mar 16, 2017 9:47:08 AM org.apache.catalina.startup.VersionLoggerListener log INFORMAÇÕES: Command line argument: -Djava.endorsed.dirs=/opt/apache-tomcat-7.0.75/endorsed mar 16, 2017 9:47:08 AM org.apache.catalina.startup.VersionLoggerListener log INFORMAÇÕES: Command line argument: -Dfile.encoding=UTF-8 mar 16, 2017 9:47:08 AM org.apache.catalina.core.AprLifecycleListener lifecycleEvent INFORMAÇÕES: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib mar 16, 2017 9:47:08 AM org.apache.coyote.AbstractProtocol init INFORMAÇÕES: Initializing ProtocolHandler ["http-bio-8081"] mar 16, 2017 9:47:08 AM org.apache.coyote.AbstractProtocol init INFORMAÇÕES: Initializing ProtocolHandler ["ajp-bio-8010"] mar 16, 2017 9:47:08 AM org.apache.catalina.startup.Catalina load INFORMAÇÕES: Initialization processed in 556 ms mar 16, 2017 9:47:08 AM org.apache.catalina.core.StandardService startInternal INFORMAÇÕES: Starting service Catalina mar 16, 2017 9:47:08 AM org.apache.catalina.core.StandardEngine startInternal INFORMAÇÕES: Starting Servlet Engine: Apache Tomcat/7.0.75 mar 16, 2017 9:47:09 AM org.apache.catalina.startup.TldConfig execute INFORMAÇÕES: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time. mar 16, 2017 9:47:09 AM org.apache.catalina.core.ApplicationContext log INFORMAÇÕES: Spring WebApplicationInitializers detected on classpath: [br.com.casadocodigo.loja.conf.ServletSpringMvc@4581ca8a] log4j:WARN No appenders could be found for logger (br.com.casadocodigo.loja.conf.ServletSpringMvc). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. mar 16, 2017 9:47:09 AM org.apache.catalina.core.ApplicationContext log INFORMAÇÕES: Initializing Spring FrameworkServlet 'dispatcher' Hibernate: alter table Produto_precos drop foreign key FK_hl4xdmygc7v2x607r4rbs6x3a Hibernate: drop table if exists Produto Hibernate: drop table if exists Produto_precos Hibernate: create table Produto (id integer not null auto_increment, dataLancamento datetime, descricao longtext, paginas integer not null, sumarioPath varchar(255), titulo varchar(255), primary key (id)) Hibernate: create table Produto_precos (Produto_id integer not null, tipo integer, valor decimal(19,2)) Hibernate: alter table Produto_precos add constraint FK_hl4xdmygc7v2x607r4rbs6x3a foreign key (Produto_id) references Produto (id) mar 16, 2017 9:47:13 AM org.apache.coyote.AbstractProtocol start INFORMAÇÕES: Starting ProtocolHandler ["http-bio-8081"] mar 16, 2017 9:47:13 AM org.apache.coyote.AbstractProtocol start INFORMAÇÕES: Starting ProtocolHandler ["ajp-bio-8010"] mar 16, 2017 9:47:13 AM org.apache.catalina.startup.Catalina start INFORMAÇÕES: Server startup in 5413 ms Hibernate: select distinct produto0.id as id10, produto0.dataLancamento as dataLanc2_0, produto0.descricao as descrica3_0, produto0.paginas as paginas4_0, produto0.sumarioPath as sumarioP5_0, produto0.titulo as titulo6_0, precos1.Produtoid as Produto1_0_0, precos1.tipo as tipo210_, precos1.valor as valor310_ from Produto produto0 inner join Produtoprecos precos1 on produto0.id=precos1.Produtoid where produto0.id=? mar 16, 2017 9:47:24 AM org.apache.catalina.core.StandardWrapperValve invoke GRAVE: Servlet.service() for servlet [dispatcher] in context with path [/casadocodigo] threw exception [Request processing failed; nested exception is javax.persistence.NoResultException: No entity found for query] with root cause javax.persistence.NoResultException: No entity found for query at org.hibernate.jpa.internal.QueryImpl.getSingleResult(QueryImpl.java:498) at br.com.casadocodigo.loja.daos.ProdutoDAO.find(ProdutoDAO.java:33) at br.com.casadocodigo.loja.daos.ProdutoDAO$$FastClassBySpringCGLIB$$92ebe7c5.invoke() at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:717) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:266) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:653) at br.com.casadocodigo.loja.daos.ProdutoDAO$$EnhancerBySpringCGLIB$$6bd0ca8e.find() at br.com.casadocodigo.loja.controllers.ProdutosController.detalhe(ProdutosController.java:79) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:781) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:721) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852) at javax.servlet.http.HttpServlet.service(HttpServlet.java:624) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837) at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:506) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745)


INSIRA CODIGO

HTTP Status 500 - Request processing failed; nested exception is javax.persistence.NoResultException: No entity found for query

type Exception report

message Request processing failed; nested exception is javax.persistence.NoResultException: No entity found for query

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.springframework.web.util.NestedServletException: Request processing failed; nested exception is javax.persistence.NoResultException: No entity found for query org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:973) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852) javax.servlet.http.HttpServlet.service(HttpServlet.java:624) org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837) javax.servlet.http.HttpServlet.service(HttpServlet.java:731) org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) root cause

javax.persistence.NoResultException: No entity found for query org.hibernate.jpa.internal.QueryImpl.getSingleResult(QueryImpl.java:498) br.com.casadocodigo.loja.daos.ProdutoDAO.find(ProdutoDAO.java:33) br.com.casadocodigo.loja.daos.ProdutoDAO$$FastClassBySpringCGLIB$$92ebe7c5.invoke() org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:717) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:98) org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:266) org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:95) org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:653) br.com.casadocodigo.loja.daos.ProdutoDAO$$EnhancerBySpringCGLIB$$6bd0ca8e.find() br.com.casadocodigo.loja.controllers.ProdutosController.detalhe(ProdutosController.java:79) sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) java.lang.reflect.Method.invoke(Method.java:498) org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:215) org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132) org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:781) org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:721) org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:83) org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943) org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877) org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961) org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:852) javax.servlet.http.HttpServlet.service(HttpServlet.java:624) org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837) javax.servlet.http.HttpServlet.service(HttpServlet.java:731) org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) note The full stack trace of the root cause is available in the Apache Tomcat/7.0.75 logs.

Apache Tomcat/7.0.75

6 respostas
processing failed; nested exception is javax.persistence.NoResultException: No entity found for query] with root cause javax.persistence.NoResultException: No entity found for query at org.hibernate.jpa.internal.QueryImpl.getSingleResult(QueryImpl.java:498) at br.com.casadocodigo.loja.daos.ProdutoDAO.find(ProdutoDAO.java:33) at

Você está passando um id(ou não está) que não existe no banco.

Enviei os códigos completos para vocês solucionar o meu problema . Att;

Oi Rodrigo, eu indiquei qual o problema :). Você precisa dar uma fuçada no código, tentar resolver e postar aqui se tiver novos problemas.

Nós tentamos sempre indicar, mas deixamos na mão dos alunos resolverem. Isso faz parte do aprendizado :).

Boa Tarde Alberto ! Estou deste dia 14/03/2017 tentando resolver esse erro do código já verifique o meu controller ....

@RequestMapping("/detalhe/{id}")
public ModelAndView detalhe(@PathVariable("id") Integer id){
    ModelAndView modelAndView = new ModelAndView("/produtos/detalhe");
    Produto produto = produtoDAO.find(id);
    modelAndView.addObject("produto", produto);
    return modelAndView;

/// A minha classe DAO

public Produto find(Integer id) {
return manager.createQuery("select distinct(p) from Produto p join fetch p.precos precos where p.id=:id",Produto.class).setParameter("id",id).getSingleResult();

.............................. preciso por gentileza que vocês sejam claros e objetivo para eu continuar com andamento do projeto...

Oi Rodrigo, o seu método do dao espera por um id e parece que você está passando um id que não existe. Você precisa ver se o id está sendo passado a partir da página e qual está chegando no seu dao.

solução!

amigo, eu estava com o mesmo problema, porem, resolvi excluir o registro da tabela, e cadastrar um novo, e funcionou, não sei se deu algum tipo de bug com o id, mas funcionou. acredito que vale o teste.