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!