Como mapear um auto-relaciomento no Hibernate?

2 respostas
luciano_castilho

Olá a todos!

Estou tentando mapear no Hibernate uma tabela que tem um auto-relacionamento, mas não estou obtendo sucesso, alguém sabe como fazer?

A regra para o auto-relacionamento é o seguinte:
Uma Organização pode estar subordinada ou não a outra Organização, caso esteja o campo (pai_org) deverá receber o valor de (id_org), caso não esteja (pai_org) deverá ser null.

Segue o esquema da tabela:
------------------------
Organizacao
------------------------
id_org integer NOT NULL (primary key)
pai_org integer NULL (foreign key)
nome_org varchar(80) NOT NULL
sigla_org varchar(80) NOT NULL
------------------------

Agradeço qualquer ajuda, obrigado.

2 Respostas

skill_ufmt

use um List

<list name=“class” table=“tablea” outer-join=“true”>

&lt;key column="pai_org"/&gt;

	    &lt; inde column="id_org"/&gt;
		&lt;composite-element class="class"&gt;
			&lt;property name="nome_org" column="nome_org "/&gt;

<property name=“sigla_org” column="sigla_org "/>

&lt;/composite-element&gt;
	&lt;/list&gt;
luciano_castilho

Obrigado pela dica, porém a solução que encontrei foi utilizar o mapeamento do hibernate (many-to-one) referenciando ao mesmo objeto/tabela.

Criado 27 de outubro de 2004
Ultima resposta 27 de out. de 2004
Respostas 2
Participantes 2