[b]Boa Noite Pessoal!
Galera estou desenvolvendo um trabalho da faculdade, mas tá dando um pepino atrás do outro, isso porque sou iniciante e nao tenho muita pratica.
A seguinte exeção é disparada:[/b]
Caused by: javax.persistence.NoResultException: No entity found for query
at org.hibernate.ejb.QueryImpl.getSingleResult(QueryImpl.java:275)
at controllers.VisitanteController.getVisitanteByNome(VisitanteController.java:49)
at converters.VisitanteConverter.getAsObject(VisitanteConverter.java:22)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:167)
at com.sun.faces.renderkit.html_basic.MenuRenderer.convertSelectOneValue(MenuRenderer.java:198)
at com.sun.faces.renderkit.html_basic.MenuRenderer.getConvertedValue(MenuRenderer.java:315)
at javax.faces.component.UIInput.getConvertedValue(UIInput.java:1023)
at javax.faces.component.UIInput.validate(UIInput.java:953)
at javax.faces.component.UIInput.executeValidate(UIInput.java:1204)
at javax.faces.component.UIInput.processValidators(UIInput.java:693)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1081)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1081)
at javax.faces.component.UIForm.processValidators(UIForm.java:240)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1081)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1081)
at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1159)
at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:72)
... 22 more
[b]O que eu não posso entender é por que ele não acha a entidade na query!
Segue o método descrito na pilha acima:[/b]
public Visitante getVisitanteByNome(String nome) {
System.out.println(">> " + nome);
Query q = entityManager.createQuery("SELECT tq FROM Visitante tq WHERE tq.nome = :nome");
q.setParameter("nome", nome);
return (Visitante) q.getSingleResult();
}
Esse metodo é utilizado por um converter:
@Override
public Object getAsObject(FacesContext context, UIComponent component, String value) {
Visitante visitante;
if(value.equals("0")){
visitante = new Visitante();
}else{
// will throw new IllegalArgumentException if it can't parse.
System.out.println(">> getAsObject(): " + value);
VisitanteController visitanteController = new VisitanteController();
visitante = visitanteController.getVisitanteByNome(value);
}
// return c;
return visitante;
}
Será que alguém pode me dar um help para solucionar essa zica?
Grato a todos