Otávio bom dia, acho melhor abrir outro Topico , visto que tenho outros problemas além erro do post anterior tenho tb este abaixo .
Já fiz aula 4 x, não achei nenhum erro, além do que já existe no projeto importado, que fica dando erro aqui, Type Exception Report
Message Request processing failed; nested exception is java.lang.IllegalArgumentException: Unable to locate Attribute with the the given name [Vire] on this ManagedType [br.com.caelum.model.Produto]
Description The server encountered an unexpected condition that prevented it from fulfilling the request.
Exception
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.IllegalArgumentException: Unable to locate Attribute with the the given name [Vire] on this ManagedType [br.com.caelum.model.Produto] org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1013) org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:908) javax.servlet.http.HttpServlet.service(HttpServlet.java:660) org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882) javax.servlet.http.HttpServlet.service(HttpServlet.java:741) org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) Root Cause
java.lang.IllegalArgumentException: Unable to locate Attribute with the the given name [Vire] on this ManagedType [br.com.caelum.model.Produto] org.hibernate.metamodel.model.domain.internal.AbstractManagedType.checkNotNull(AbstractManagedType.java:147) org.hibernate.metamodel.model.domain.internal.AbstractManagedType.getAttribute(AbstractManagedType.java:118) org.hibernate.metamodel.model.domain.internal.AbstractManagedType.getAttribute(AbstractManagedType.java:43) org.hibernate.query.criteria.internal.path.AbstractFromImpl.locateAttributeInternal(AbstractFromImpl.java:111) org.hibernate.query.criteria.internal.path.AbstractPathImpl.locateAttribute(AbstractPathImpl.java:204) org.hibernate.query.criteria.internal.path.AbstractPathImpl.get(AbstractPathImpl.java:177) br.com.caelum.dao.ProdutoDao.getProdutos(ProdutoDao.java:53)
<form action="${spring:mvcUrl('cadastraProduto').build()}" method="post">
/*erro do post ANTERIOR, não faz buscas, nada */
public List<Produto> getProdutos(String nomes, Integer categoriaIds, Integer lojaIds) {
CriteriaBuilder criteriaBulder = em.getCriteriaBuilder();
CriteriaQuery<Produto> query = criteriaBulder.createQuery(Produto.class);
Root<Produto>root= query.from(Produto.class);
Path<String> nomepath = root.<String>get(nomes);
Path<Integer>lojapath = root.<Loja>get("loja").<Integer>get("id");
Path<Integer>categoriapath = root.join("categoria").<Integer>get("id");
List<Predicate>predicates = new ArrayList<Predicate>();
if(!nomes.isEmpty()) {
Predicate nomeIqual = criteriaBulder.like(nomepath, nomes);// usamos o LIKE no lugar o IQUALS, para acertarmos na busca
predicates.add(nomeIqual) ;
}
if(lojaIds != null) {
Predicate lojaIqual= criteriaBulder.equal(lojapath, lojaIds);
predicates.add(lojaIqual);
}
if(categoriaIds != null) {
Predicate categoriaIqual = criteriaBulder.equal(categoriapath, categoriaIds);
predicates.add(categoriaIqual);
}
query.where((Predicate[]) predicates.toArray());
TypedQuery<Produto> typeQuery = em.createQuery(query);
return typeQuery.getResultList();
Obrigaduuuu