Consulta Personalizada JPA

,

Olá, estou com um problema para executar uma consulta personalizada:

  public List<Pesos> buscarTodosPesos(Integer id) {
    criaEntidade(); //Aqui ele cria a EntityManager Já funciona em outros metodos tudo OK.
    System.out.println(id + " ID PASSADA"); //Aqui me mostrou que o parametro está OK.
    String queryString =("SELECT p FROM Pesos p WHERE p.idAnimal = "+id.toString());
    Query query = em.createQuery(queryString); //Meu "em" tambem funciona tudo Ok em outros métodos.

    return query.getResultList();

}

Ele chega até o meu System.out e não retorna Nada. E não tem nenhuma exceção :frowning:

Então não deve ter nenhum peso registrado com este id que estás passando.
Confere no banco os dados que tem nesta tabela.

Tem varios registros com esse Id, esse é o problema creio que o problema deve estar na minha queryString.

Manda print dos dados da tabela. E diz qual é o id que está buscando. Ai verifico.

Só tem 4 campos
idPesos Integer
idAnimal Integer = Esse é o campo que estou consultando.
peso Double
DataPesagem Date

Não consegui identificar problema na sua consulta, não acredito que seja ela o problema.
Acredito que simplesmente não exista no banco o dado que vc está buscando.

Faz um System.out.println(id); antes da sua consulta e me passa esse id que vc está buscando.
E preciso do PRINT dos DADOS da tabela.

Banco de Dados

Console

O que eu estou buscando é “Selecione Tudo da tabela Pesos onde o idAnimal seja igual ao id no caso id = 3”

Acho que sei.
Verifique na sua classe Pesos se idAnimal realmente é um Integer.
Está me parecendo que ele é do tipo Animal e portanto teria que fazer algo do tipo:
WHERE p.idAnimal.id = "+id.toString()
ou:
String queryString =(“SELECT p FROM Pesos p WHERE p.idAnimal = :animal”);
query.setParameter(“animal”, new Animal(id));

Resumo: vc deve comparar objeto complexo com objeto complexo, int com int e assim por diante. Me parece que ta buscando por objetos Animal e comparando com o id 3(coisas diferentes). Essa confusão acontece quando se usa JPQL, pois se deve aplicar OO e não relacional.