Muito Obrigado Olivier.
Foi exatamente isto.
Apesar de descobrir antes de ler o seu e-mail, se
eu não tivesse descoberto, você teria batido no Alvo e me
ajudado.
Para esclarecer melhor o fato: Existe um método necessário
que é o "public int hashCode(){...}" na classe
representante da tabela no banco.
E eu não havia mencionado o novo campo da chave neste
método fazendo com que o hibernate trabalhasse o reaproveitamento de
objetos com as chaves contendo apenas os demais campos já
existentes.
Eu me dei por perdido por constatar que todo o
restante (Declaração de chave no .hbm.xml; Declaração na Classe com getters e
setters) havia estado correto e sem apresentação de menságens de erro no
log4j e catalina.out.
Fica mais essa para o aprendizado de muitos: "chequem todas
as chamadas de campo no xml e na classe que representa a tabela no
BD"
Mais uma vez, Muito obrigado
Eduardo Carvalho
Analista
Programador
Java
De: [email protected] [mailto:[EMAIL PROTECTED] Em nome de Olivier - (JConcept / Cetip21)
Enviada em: quarta-feira, 24 de agosto de 2005 16:29
Para: [email protected]
Assunto: RES: *** Classificado como Spam *** [JUG-Petro] Consulta truncada no Hibernate
Boa
tarde Eduardo,
vc tem
certeza que a chave que vc definiu para hibernate (hibernate.id) está certa ? ou
seja, dos registros retornados por sua query, não existem registros com mesmo id
?
O Hibernate, dentro de uma mesma sessão, para diminuir o número de
instanciações, reaproveita objetos com mesmo id.
Ou
seja se a query retorna dois objeto com mesmo id, mesmo que com dados
diferentes, o segundo será simplesmente o mesmo (mesma isntância) que o
primeiro. o Hibernate não irá criar uma nova instância.
Para
verificar isto, é só vc depurar e ver se na sua Collection existem instâncias
duplicadas. Se existem, vc terá de rever a definição da sua chave primeria para
Hibernate.
Olivier.
-----Mensagem original-----
De: Eduardo Carvalho dos Santos [mailto:[EMAIL PROTECTED]
Enviada em: terça-feira, 23 de agosto de 2005 10:24
Para: [email protected]
Assunto: *** Classificado como Spam *** [JUG-Petro] Consulta truncada no HibernateBom-dia!Estou com um problema de uma consulta simples cujo resultado em Collection está retornando registros repitidos onde na repetição deveria um registro diferente com apenas alguns dados similares que são apenas os usados no filtro (cláusula where).O fato é que a mesma consulta no banco está retornando o resultado correto e pelo hibernate não.A impressão é como se o hibernate estivesse re-utilizando um registro já retornado e não prossegue com a busca da consulta. Isso occorre exceto para os registros não constantes.Para ser mais claro, o caso é uma consulta cujo filtro são dados-chave de um registro da tabela pai que , como de praxe, constam na tabela filha devendo retornar os registros filhos sem repetí-los(Desculpem a redundância).Obrigado.Eduardo CarvalhoAnalista-ProgramadorAtenção: Esta mensagem foi enviada para uso exclusivo do(s) destinatários(s) acima identificado(s), podendo conter informações e/ou documentos confidencias/privilegiados e seu sigilo é protegido por lei. Caso você tenha recebido por engano, por favor, informe o remetente e apague-a de seu sistema. Notificamos que é proibido por lei a sua retenção, disseminação, distribuição, cópia ou uso sem expressa autorização do remetente. Opiniões pessoais do remetente não refletem, necessariamente, o ponto de vista da CETIP, o qual é divulgado somente por pessoas autorizadas. Attention: This message was sent for exclusive use of the addressees above identified, being able to contain information and or privileged/confidential documents and law protects its secrecies. In case that you it has received for deceit, please, it informs the shipper and erases it of your system. We notify that law forbids its retention, dissemination, distribution, copy or use without express authorization. Personal opinions of the shipper do not reflect, necessarily, the point of view of the CETIP, which is only divulged by authorized people.
YAHOO! GROUPS LINKS
- Visit your group "jug-petropolis" on the web.
- To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
- Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
