Hibernate - One-to-One

Começam as dúvidas…

rsrs**
Eu tenho uma classe definida assim:

class Classe { int id; Classe proximo; }

Dai veio a dúvida…
Como ficaria essa relação one-to-one no hbm.xml?
Eu tentei algumas coisas bem padrão mas não tive mto sucesso.

Alguem tem alguma luz?

Eu utilizo hibernate com annotations, mas é só “transformar” no hbm.
Por exemplo, tenho uma classe Candidato e uma classe Curriculo, <one-to-one>.

Na classe Candidato

@OneToOne(mappedBy="candidato") // nome do atributo na classe Curriculo! @Cascade(CascadeType.ALL) private Curriculo curriculo;

Na classe Curriculo

@OneToOne @JoinColumn(name="id_candidato") // nome da coluna FK private Candidato candidato;
[]'s

Só um comentário: o @JoinColumn só é obrigatório se você quiser mudar o nome da coluna que o Hibernate atribui como padrão. No caso ilustrado pelo colega finotti, o @JoinColumn na classe Curriculo não é obrigatória, basta manter apenas o @OneToOne.

É.
Acho que não fui claro o bastante…

:S…

O problema é que é um relacionamento “recursivo”.
Logicamente é one-to-one.

class Classe { int id; Classe proximo; }

Veem? É uma estrutura de fila.
Uma classe tem um código e a referência para o próximo ítem.

O ideal seria fazer isso :<one-to-one name="proximo" class="Classe" column="id_proximo"/>
Mas, o column não existe para o one-to-one.
Ou seja: F****

Alguem tem alguma alternativa [ sem ser transformar o relacionamento many-to-one]??

Se alguem souber… compartilhe comigo a solução…
Se não souber… o many-to-one resolve.
:S,

Ainda estou aprendendo sobre os benefícios e malefícios desse [lazy=“false” fetch=“join”]…
Pelo jeito ele não poderá existir…
hahaha

Mas, parece funcionar bem sem ele…
Ele faz multiplas consultas com load [uma para cada encadeamento apartir do segundo relacionamento] …
E não faz consultas com o query join [indiferente se é lazy ou não]…

Trem doido… rsrs**

Gente…
Ainda espero uma solution… pq, pra mim… isso foi uma gambiarra… hahaha