Pessoal, boa noite! Estou tendo problemas ao executar uma busca utilizando JPQL. Alguém sabe oque pode ser ?
Método de busca
public List<T> listarPorNome(Class<T> classe, String jpql) {
try {
TypedQuery<T> query = this.entityManager.createQuery(jpql, classe);
List<T> resultado = query.getResultList();
return resultado;
} catch (RuntimeException e) {
e.printStackTrace();
return null;
}
}
service
public List<VeiculoPasseio> listarPorNome(String modelo) {
return this.repositorio.listarPorNome(VeiculoPasseio.class, "Select u from VeiculoPasseio u where u.modelo like :modelo");
}
main para testes
public class Teste {
public static void main(String[] args) {
VeiculoPasseioService service = new VeiculoPasseioService();
service.listarPorNome("gol");
}
}
Classe
package br.com.model.entidades;
import java.io.Serializable;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.OneToOne;
@Entity
public class VeiculoPasseio extends Veiculo implements Serializable {
private static final long serialVersionUID = 1L;
private double tamanho;
private int numeroPassageiros;
@OneToOne(mappedBy = "veiculoPasseio", cascade = CascadeType.ALL)
private ImagemVeiculoPasseio imagem;
public VeiculoPasseio(String placa, String modelo, String fabricante, int ano, String cor, double tamanho,
int numeroPassageiros, double motor, double valorDiaria) {
super(placa, modelo, fabricante, ano, cor, motor, valorDiaria);
this.tamanho = tamanho;
this.numeroPassageiros = numeroPassageiros;
}
public VeiculoPasseio() {
}
public ImagemVeiculoPasseio getImagem() {
return imagem;
}
public void setImagem(ImagemVeiculoPasseio imagem) {
this.imagem = imagem;
}
public double getTamanho() {
return tamanho;
}
public void setTamanho(double tamanho) {
this.tamanho = tamanho;
}
public int getNumeroPassageiros() {
return numeroPassageiros;
}
public void setNumeroPassageiros(int numeroPassageiros) {
this.numeroPassageiros = numeroPassageiros;
}
@Override
public String toString() {
return "VeiculoPasseio [tamanho=" + tamanho + ", numeroPassageiros=" + numeroPassageiros + "]";
}
}
Erro
org.hibernate.QueryException: Named parameter not bound : modelo
at org.hibernate.query.internal.QueryParameterBindingsImpl.verifyParametersBound(QueryParameterBindingsImpl.java:211)
at org.hibernate.query.internal.AbstractProducedQuery.beforeQuery(AbstractProducedQuery.java:1511)
at org.hibernate.query.internal.AbstractProducedQuery.list(AbstractProducedQuery.java:1615)
at org.hibernate.query.Query.getResultList(Query.java:165)
at br.com.model.dao.DaoGenerico.listarPorNome(DaoGenerico.java:50)
at br.com.model.servicos.VeiculoPasseioService.listarPorNome(VeiculoPasseioService.java:68)
at br.com.model.dao.Teste.main(Teste.java:11)