Session.load(class, id) retorna objeto certo com sub-objeto errado. Bug?

1 resposta
N

Ae pessoal,

To com um bug muito esquisito, tenho 2 classes:

1a - Ordem de Serviço
2a - Cliente

Na classe OrdemServico.java, referencio o objeto Cliente assim:

OrdemServico.java /** * @hibernate.many-to-one * column = "id_cliente" * not-null = "false" * class = "pacote.ClienteTO" */ public Cliente getCliente() { return cliente; } public void setCliente(Cliente cliente) { this.cliente = cliente; }

Agora vem o BUG:

Tenho 5 ordens de serviço e 3 clientes cadastrados.

Quando faço um load por Id de uma Ordem de Serviço, hora ele traz o id correto do Cliente, hora ele traz outro id de Cliente!

Código

Session session = getCurrentSession();
Transaction.beginTransaction();
result = session.load(beanClass, id); //Load do objeto OrdemServico do Id 10

Resultado:

As vezes:
OrdemServicoId = 10
  ---> ClienteId = 4

e

As vezes:
OrdemServicoId = 10
  ---> ClienteId = 3

O que pode ser??

Estou usando MYSQL com Hibernate3

Detalhe: quando uso a propriedade lazy=“true” no relacionamento Cliente da OrdemServico.java, ele funciona! (Mas creio que é justamente por consultar por fazer um get separado de cliente.)

Espero ter sido claro… Obrigado!

1 Resposta

N

ninguem sabe??

Criado 19 de novembro de 2008
Ultima resposta 20 de nov. de 2008
Respostas 1
Participantes 1