Boa Noite pessoal, tenho esta HQL acima, não sei o que acontece, estou tentando trazer uma única nota fiscal, porém quando executo a mesma, tenhu um resultado de varias notas fiscais, a mesma quantidade de itens, ou seja, ele esta trazendo 1(uma) nota fiscal para cada item.
isso é normal. são vários itens relacionados a uma mesma nota fiscal. o resultset retornado irá trazer dessa forma mesmo.
o q vc tem q fazer é sobrescrever os métodos equals() e hashcode() das suas entidades para garantir uma identidade única para seus objetos. dê uma olhada na referência do hibernate se vc tiver alguma dúvida.
o distinct funciona, mas é uma operação lenta no banco. e se não me engano, o hibernate também precisa dos métodos equals() e hashcode() sobrescritos para garantir a identidade única dos objetos.
depois q vc sobrescrever seus métodos equals() e hashcode() utilize Set para garantir um único objeto no seu resultado, assim vc não precisa utilizar distinct.
Então… eu tava tentanto fugir de colocar os resusltados em um Set, os métodos equals() e hashcode() até estavam sobrescritos, mas mesmo assim, retornavar registros duplicados.
Mas galera, valew pela força, e vlw ai Luiz Henrique…