Estou com seguinte erro em meu código.
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)
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:32)
br.com.casadocodigo.loja.daos.ProdutoDAO$$FastClassBySpringCGLIB$$92ebe7c5.invoke(<generated>)
org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
minha classe ProdutoDAO e :
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.models.Produto;
@Repository
@Transactional
public class ProdutoDAO {
@PersistenceContext
private EntityManager manager;
public void gravar(Produto produto){
manager.persist(produto);
}
public List<Produto> listar() {
return manager.createQuery("Select p from Produto p", Produto.class).getResultList();
}
public Produto find(Integer id) {
return manager.createQuery("select distinct(p) from Produto p "
+ " join fetch p.precos preco where p.id = :id", Produto.class)
.setParameter("id", id)
.getSingleResult();
}
}
minha classe produto :
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
private Calendar dataLancamento;
private String SumarioPath;
public String getSumarioPath() {
return SumarioPath;
}
public void setSumarioPath(String sumarioPath) {
SumarioPath = sumarioPath;
}
@ElementCollection
private List<Preco> precos;
public String getTitulo() {
return titulo;
}
public void setTitulo(String titulo) {
this.titulo = titulo;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
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<Preco> getPrecos() {
return precos;
}
public void setPrecos(List<Preco> precos) {
this.precos = precos;
}
public Calendar getDataLancamento() {
return dataLancamento;
}
public void setDataLancamento(Calendar dataLancamento) {
this.dataLanc
o que pode estar acontecendo?