Ajuda mapeamento Hibernate

2 respostas
M

Pessoal, nem sei se este é o tópico certo para perguntar isto, mas por favor se alguém puder me ajudar.

Seguinte, tenho algumas classes relacionadas e gostaria de saber como mapeá-las no banco de forma que eu consiga usufruir das facilidades do hibernate para recuperar os objetos relacionados…
Exemplo:

Tenho a classe ENDEREÇO com seus respectivos atributos… em seguida tenho uma classe LOTAÇÃO(Entidade) que possui um ENDEREÇO. Tenho ainda uma terceira classe SOCIO(Entidade) que possui que possui um ENDEREÇO e está vinculado a uma LOTAÇÃO.

O relacionamento seria algo do tipo:

Um socio está vinculado a uma lotação, uma lotação pode ter vários sócios vinculados (1-n)

e tanto a lotação quanto o sócio possuem um endereço.

acredito que existe a possibilidade de quando eu inserir um sócio o hibernate automaticamente insere um endereço e uma lotação no banco.

Alguém poderia me dizer como faço este mapeamento tanto em minhas classes como no hbm.xml?

Grato a todos e um excelente final de ano

2 Respostas

G
"mrwin":
Pessoal, nem sei se este é o tópico certo para perguntar isto, mas por favor se alguém puder me ajudar.

Seguinte, tenho algumas classes relacionadas e gostaria de saber como mapeá-las no banco de forma que eu consiga usufruir das facilidades do hibernate para recuperar os objetos relacionados..
Exemplo:

Tenho a classe ENDEREÇO com seus respectivos atributos.. em seguida tenho uma classe LOTAÇÃO(Entidade) que possui um ENDEREÇO. Tenho ainda uma terceira classe SOCIO(Entidade) que possui que possui um ENDEREÇO e está vinculado a uma LOTAÇÃO.

O relacionamento seria algo do tipo:

Um socio está vinculado a uma lotação, uma lotação pode ter vários sócios vinculados (1-n)

e tanto a lotação quanto o sócio possuem um endereço.

acredito que existe a possibilidade de quando eu inserir um sócio o hibernate automaticamente insere um endereço e uma lotação no banco.

Alguém poderia me dizer como faço este mapeamento tanto em minhas classes como no hbm.xml?

Grato a todos e um excelente final de ano

Com Hibernate Annotations ficaria mais ou menos assim:

public class Endereco {

   private Long id;
   private String nmRua;
   private String complemento;

   // etc...
}
public class Lotacao {

   private Long id;

   @ManyToOne(cascade = CascadeType.ALL)
   @JoinColumn(name = "id_endereco")
   private Endereco endereco;

}
public class Socio {

   private Long id;

   @ManyToOne(cascade = CascadeType.ALL)
   @JoinColumn(name = "id_lotacao")
   private Lotacao lotacao;

}

Aí quando você salvar um sócio, uma lotação e um endereço serão persistidos em cascata (desde que os objetos estejam populados ;) ).

Agora, cabe a você transformar isso para o mapeamento no XML. Segue um link que pode te ajudar caso tenha dúvidas: http://www.hibernate.org/hib_docs/v3/reference/en/html/

Espero que isso te ajude um pouco ;)

M

Obrigado cara, valeu mesmo

Criado 17 de dezembro de 2006
Ultima resposta 19 de dez. de 2006
Respostas 2
Participantes 2