Eu descobri o problema.
Depois, quando eu tirei o hibernate e coloquei os meus métodos que faz o que o hibernate faz, eu tive a resposta.
O problema é que na pesquisa ficou faltando um dos campos da tabela.
Bom, sobre isso, eu gostaria de saber se esse tipo de erro apareceria no log4j, porque caso contrário, eu posso afirmar: o hibernate é uma bela porcaria.
Eu fiz alguns métodos que executam pesquisas e preenche os beans, e os meus métodos logam os erros.
No caso, o erro que surgiu no meu log foi: campo Peso, tipo int: coluna inválida.
Poxa vida, foi só ver isso para eu resolver o problema. Como imaginei que poderia ser o mesmo problema no hibernate, eu peguei a classe original e consertei o sql e olha, funcionou.
O que tem no meu log que não tem no hibernate e que preciso é : log de erro no nível de campo da tabela; impressão do código sql gerado MESMO EM CASO DE ERRO, e os erros devolvidos pelo banco de dados.
Se no log4j o hibernate não me der esse detalhamento, então eu não vou mais usar hibernate, pq perder um dia intereiro para tentar descobrir que diabos é essa mensagem retardada de erro de gramática eu acho um pouco absurdo.
Aproveitando, alguém já configurou o log4j para o tomcat6? Eu tentei configurar aki mas ele não está funcionando. Os tutoriais que eu achei vão até o 5 (pensei que a configuração fosse a mesma, mas pelo jeito não é).
Eu preciso saber até onde vai o detalhamento do log do hibernate com o log4j. Porque caso não chegue no nível do meu, infelizmente não será possível utilizar o hibertane e perder um dia inteiro em um erro por causa de logs porcamente genéricos.