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.