Auto Relacionamento com hibernate annotations

8 respostas
T

Olá, como eu faço mapeamento de auto relacionamento com hibernate annotations?

Tenho uma classe chamada ClasseMatMet onde dentro dela tem um atributo ClasseMatMedPai, poré não sei como auto relacionar, olhe a documentação e não vi nada do tipo.

Grato,
Thiago

8 Respostas

H

Post antigo mas vou responder pq estava com a mesma dúvida e cheguei a esse tópico sem resposta, talvez evite que ocorra com outros…

Fiz um código bastante parecido e que funcionou:

@Entity

@Table(name = origem, schema = public)

public class Origem implements Serializable{
/**
* Chave Primaria - Identificador da Origem.
*/
@Id
@SequenceGenerator(name = "SEQ_ORIGEM", 
					sequenceName = "public.origem_id_orig_seq")
@GeneratedValue(strategy = GenerationType.SEQUENCE, 
				generator = "SEQ_ORIGEM")
@Column(name = "id_orig")
private int id;

/**
 * Id da Origem pai 
 */
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "id_pai", insertable = true, updatable = true, nullable = true)
private Origem origemPai;

Não foi preciso nada demais… Para mais informações: http://www.java-forums.org/java-tutorials/3182-hibernate-java-persistence.html

F

Mandou bem, véio! Tive o mesmo problema, mas agora o tópico tinha a sua resposta! :wink:

Me cadastrei aqui só para te parabenizar!

J

O tenho um problema similar, mas no meu caso o auto-relacionamento é de muitos a muitos porém preciso da combinação de duas e além disso esse auto-relacionamento tem um atributo. Vcs me poderiam ajudar com este quebracabeças?. Como posso fazer para solucionar o auto-relacionamento n-n com hibernate. Estou utilizando JAVA e estou me guiando do tutorial mas não tem nada parecido!

Grata,
Joana

F

Joana, se tem atributo você tem que pensar nessa relação como DOIS relacionamentos de 1:N ao invés de pensar como UM auto-relacionamento de N:N.

Sacou?

J

isso é que estou tentando fazer, mas o que acontece é que um dos atributos é a chave estrangeira u outro atributo é a chave principal da classe e u outro atributo é um String. Como fazo para mapear principalmente as chaves tanto estrangeira como principal numa so classe?

Grata,
Joana

F

Joana, não será em uma só classe. Você terá duas classes, agora.

Essa tabela “auxiliar” precisará ser mapeada.

Esse é o lance!

Abraços,

Danilo

H

Danilo estou com o mesmo problema da Joana, criei os dois relacionamentos 1:n mas não consegui resolver será q vc poderia me enviar um exemplo.

Valeu !!!

favoratti:
Joana, não será em uma só classe. Você terá duas classes, agora.

Essa tabela “auxiliar” precisará ser mapeada.

Esse é o lance!

Abraços,

Danilo

J

Danilo, vc consiguiu solucionar seu problema do auto-relacionamento. Eu ainda não consegui!. Será que vc tem alguma sugestão?

Grata

Criado 13 de setembro de 2006
Ultima resposta 28 de mai. de 2008
Respostas 8
Participantes 5