Hibernate duvida 1:1

Oi,

eu tou fazendo um projeto e tou com um problema qnd mapeio duas classes 1:1. Eu tenho uma classe Cliente que possui um atributo da clase Contato.
Eu gostaria de mapear 1 cliente pra 1 contato.

eu faço em Cliente(trecho):

<code>
<id name=“codigo” column=“codigo”>
<generator class=“native” />
</id>
<one-to-one name=“contato” class=“Contato” cascade=“save-update” />
</code>

e em Contato(trecho):
<code>
<id name=“id” column=“codigo”>
<generator class=“native” />
</id>
</code>

Eu queria que o Cliente tivesse uma chave-estrangeira com a ID do Contato. Mas n gostaria q contato ficasse dependente de Cliente, já que eu gostaria que um Funcionario pudesse tb, da mesma forma que cliente, possuir um Contato, com uma chave estrangeira do ID de um Contato.
Esse codigo compila e executa, mas no BD o cliente é inserido com contato = NULL.
o que eu faço?
flw

alguem sabe? poderia me ajudar?

Deixa pra lá, já descobri como fazer!
vlw!