[RESOLVIDO]More than one row with the given identifier was found: pacote.pojo.classe

pessoal. doidera, doidera… no meu banco de dados o registro de chave composta é unica na tabela, mas quando dou um get no objeto passando a chave ele me retorna 3 registros! como pode?!RESOLVIDO

Só se tiver alguma join maluca na hr de fazer a busca. Habilita a opção show_sql do hibernate pra ver q join ele está fazendo.

mas ele te retorna o mesmo registro tres vezes? se for isso pode ser algo relacionado a vc carregar ele em multiplas classes.

os joins dele esta correto. eu vejo no console sempre, outra coisa é que é o mesmo registro triplicado

a busca é simples apenas um session.get(classe,chavecomposta)

retorna o mesmo registro 3 vezes. no banco tem apenas 1.

ja tentei da session.clear();

Arthur, me refiro à joins na query do hibernate. O mapeamento desta classe não tem relacionamento com nenhuma outra classe do seu sistema?

arthurminarini, ja aconteceu comigo de eu mapear uma coleção dos dois lados e trazer ela com fetch=Fetch.EAGER e acontecer isso de duplicar ou triplicar a coleção, ai só tirei o Fetch.EAGER e no meu acabou o problema

posta ai os relacionamentos que a sua classe possui e como vc mapeou pra gente ter uma ideia melhor

[]'s

tem onetoone e manytone. Não tem manytomany e não tem onetomany

coloca o show_sql e depois verifica a query que o hibernate vai gerar. provavelmente é algum problema na query… fazendo isso vc descobre o que está errado…

no sql gerado para cada many to one que tenho na classe ele gerou um select individual. por exemplo. se eu tenho na classe 3 relacionamentos ele gerou o sql de cada tabela referenciada no relacionamento em sql(select) diferente e o sql da classe consultada truxe apenas um select normal sem inner nem left sem junção alguma

arthurminarini, se vc puder postar seus mapeamentos e sua consulta fica mais facil te ajudar!

[]'s

vlw pessoal pela ajuda . mas era que na classe de cliente tinha um relacionamento que na tabela não tinha ai eu tirei fora o relacionamento e deu certo vlw!!