Hibernate one-to-one como chave primária

Olá, eu de novo embaçado no hibernate e enchendo o saco.

Procurei por exemplos deste tipo, mas não achei nada.

Eu tenho duas tabelas:


empresa

cnpj varchar2( 18 ) primary key
nome varchar2( 50 )
endereco varchar2( 80 )


mensalidade

cnpj varchar2( 18 ) primary key e foreign key
valor number( 9,2 )
data date

O relacionamento entre os dois é 1 para 1, ou seja,
uma empresa só pode ter uma mensalidade associada.

então como eu faria o mapeamento neste caso???
Eu to fazendo assim:

<hibernate-mapping>
    <class name="Company" table="empresa">
		<id name="cnpj" column="cnpj">
			<generator class="assigned"/>
		</id>
        <property name="name" column="nome"/>
		<property name="address" column="endereco"/>
		<one-to-one name="monthlyFee" class="MonthlyFee"
			constrained="false" outer-join="false"/>					
    </class>
</hibernate-mapping>


<hibernate-mapping>
    <class name="MonthlyFee" table="mensalidade">        		
        <id>
        	<key-one-to-one name="company" class="Company"
			constrained="true" outer-join="auto"/>
        </id>        
        <property name="value" column="valor"/>        
        <property name="dtPayment" column="dt_pagamento"/>        
    </class>
</hibernate-mapping>

Alguém pode me dar umas dicas a respeito disso ou uma ajudinha?

valew

abraço

Olá,

Eu consegui achar uma solução pra isso… olhem só:

<!-- Errado : key-one-to-one não existe -->

<hibernate-mapping> 
    <class name="MonthlyFee" table="mensalidade">               
        <id> 
           <key-one-to-one name="company" class="Company" 
         constrained="true" outer-join="auto"/> 
        </id>        
        <property name="value" column="valor"/>        
        <property name="dtPayment" column="dt_pagamento"/>        
    </class> 
</hibernate-mapping>

<!-- CERTO -->

<hibernate-mapping> 
    <class name="MonthlyFee" table="mensalidade">               
        <id name="cnpj" column="cnpj"> 
           <generator class="foreign">
           	<param name="property">company</param>
           </generator> 
         </id>
         <one-to-one name="company" class="Company"
           constrained="true" outer-join="auto"/>        
        <property name="value" column="valor"/>        
        <property name="dtPayment" column="dt_pagamento"/>        
    </class> 
</hibernate-mapping>

Falow,

abraço