Dúvida com o Hibernate

Olá pessoal!!!

Digamos que eu precise mapear a seguinte tabela no Hibernate:

Tabela Teste

id_teste
nome
id_teste_pai

Gostaria de ter uma entidate dentro da entidade, e não simplesmemente mapear o id_teste_pai como uma propriedade.
Como fazer isso?

Desde já agradeço!!

Existe Bancos como o Oracle que vc consegue Criar um Tipo de dados para associar a uma coluna.

Por questão de portabilidade (O Hibernate Fornece isso), recomendo não fazer deste jeto

nas Entidades deve ficar do jeito que você escreveu, e este problema deve sr resolvido nas classes.

suas Classes ficam mais ou menos assim

E O Mapeamento deve ficar algo assim no Teste.hbm.xml

E O Mapeamento deve ficar algo assim no Teste.hbm.xml

E ai makr, blz?!?!?

O problema é que eu não quero criar mais uma classe para poder mapear isso.
Gostaria que a classe teste fosse pai dela mesma.
Tive dando uma pesquisada e acho que o que terei que criar dois mapeamentos, um one-to-many e outro many-to-one
Desse jeito a minha classe ficaria mais ou menos assim.

class Teste{
private Long id;
private String nome;
private java.util.Set testesFilhos
private Teste testePai;
}

Assim tanto o pai quanto os filhos ficam mapeados.
Ainda não testei essa solução, portanto não garanto nada e qualquer observação será bem vinda!!
:thumbup:

Funciona redondinho. Mas talvez vá ter problemas para os nodos que não possuem pais.

Faço assim o meu auto-relaciomento e funciona sem problemas

[code]<class
name=“br.com.polaris.billing.domain.Item”
table=“ITRTI”

<id
    name="codigo"
    type="java.lang.Integer"
    column="CD_ITRTI"
>
    <generator class="sequence">
        <param name="sequence">SQ_ITRTI</param>
    </generator>
</id>

<property
    name="descricao"
    type="java.lang.String"
    column="DS_ITRTI"
    not-null="true"
    length="50"
/>
<property
    name="nivelHierarquico"
    type="java.lang.Integer"
    column="CD_ITRTI_NVHRQ"
    not-null="true"
    length="3"
/>
<many-to-one
    name="itemPai"
    class="br.com.polaris.billing.domain.Item"
    not-null="false"
>
    <column name="CD_ITRTI_PAI" />
</many-to-one>
[/code]