Auto Relacionamento com hibernate annotations

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

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

1 curtida

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!

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

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?

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

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

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 !!!

[quote=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[/quote]

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

Grata