Many-to-one nulo

Olá pessoal,

tenho minhas classes modeladas desse jeito:

class Pessoa {
   Endereco endereco;
   Pessoa() {
     endereco = new Endereco();
   }
}

class Endereco {
   Integer cdEndereco;
}

No Hibernate, tenho um relacionamento many-to-one entre
Pessoa e Endereco, ou seja, na tabela do banco PESSOA,
existe um CDENDERECO, que leva ao relacionamento com ENDERECO.

O problema é que quando o cdEndereco em Pessoa está nulo,
o hibernate retorna nulo o objeto Endereco que está em Pessoa.

como fazer para que o Hibernate retorne um Endereco
instanciado com o construtor default quando o cdEndereco é nulo?

[quote=valdir.mendes]como fazer para que o Hibernate retorne um Endereco
instanciado com o construtor default quando o cdEndereco é nulo?[/quote]
Eu aconselharia a não fazer isso, mas já que você quer, acho que o único meio é mudando o set do endereço.

 class Pessoa {
    Endereco endereco;
    Pessoa() {
      endereco = new Endereco();
    }
    ...
    public void setEndereco(Endereco endereco) {
      if (endereco != null) {
        this.endereco = endereco;
      }
    }
    ...
 }

Boa sorte se quiser fazer isso…

[]'s

Rodrigo Auler

Bom, será que não existe uma configuração no hibernate que possa fazer isso automaticamente pelo many-to-one?

Explicando porque estou fazendo isso…

na minha jsp, preciso imprimir o valor de cdEndereco na tela através da
tag-lib bean do struts:

mas como o endereco não eh obrigatorio, o hibernate popula
o endereco da pessoa como nulo, caso não exista ocorrencia do mesmo
no banco.