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 
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.