Mapeamento dinamico - Hibernate

4 respostas
heatcold

Como eu faria para mapear dinamicamente uma entidade e suas relacoes?
Preciso desse recurso pois gostaria de ler um objeto desconhecido e persisti-lo.

Ex:
Object obj = in.readObject();
cfg.addAnnotatedClass(obj.getClass());

Esse código seria suficiente para mapear o objeto de forma dinamica, desde que ele esteja anotado, sem
conhecer o objeto.

Supondo que o objeto lido fosse uma instancia de pessoa.

@Entity
@Table(name = "PESSOA")
class Pessoa
{
    @Id
    @GeneratedValue
    @Column(name = "PESSOA_ID")
    Long id;

    @ManyToOne
    Endereco endereco;
}

Eu não consegueria persistir o objeto, usando o hibernate, pois o relacionamento com endereco nao teria sido mapeado.

Alguem tem uma sugestao?

4 Respostas

bbmany

Não sei se é isto que você está querendo fazer mas o hibernate permite que você defina quais classes serão entidades e nos atributos dessas classe é que você define os relacionamentos utilizando por exemplo: “@One To One”, “@Many To One”. Dessa forma você consegue dizer que uma pessoa tem um endereço.

heatcold

Obrigado pela dica, mas não resolve meu problema.

rodrigo_corinthians

Hibernate and dynamic models
Tenta aí e depois volta pra falar se conseguiu mas vc realmente precisa fazer esse mapeamento dinamicamente?

Não tem alguma falha no relacionamento das suas tabelas?

bbmany

heatcold
Acho que não consegui entender sua dúvida.

Criado 5 de maio de 2008
Ultima resposta 5 de mai. de 2008
Respostas 4
Participantes 3