Problemas com relacionamento 1-1 no hibernate

Gente não estou conseguindo fazer um relacionamento onde a chave primária é a chave estrangeira, fiz um programinha teste e vou postá-lo abaixo:

package dao ;
/**
 * 
 *
 * @hibernate.class
 *     table="USER"
 *
 */
public class User {
 
  // <editor-fold defaultstate="collapsed" desc=" Property:   String name ">
  private String name;
/**
  *   @hibernate.property
  */
   public String getName () {
      return name;
   } 
   public void setName (String name) {
      this.name = name;
   }
   // </editor-fold>
 
  // <editor-fold defaultstate="collapsed" desc=" Property:   String login ">
  private String login;
/**
  *   @hibernate.property
  */
   public String getLogin () {
      return login;
   } 
   public void setLogin (String login) {
      this.login = login;
   }
   // </editor-fold>
 
  // <editor-fold defaultstate="collapsed" desc=" Property:   String password ">
  private String password;
/**
  *   @hibernate.property
  */
   public String getPassword () {
      return password;
   } 
   public void setPassword (String password) {
      this.password = password;
   }
   // </editor-fold>

  // <editor-fold defaultstate="collapsed" desc=" PrimaryKey:   Long userId ">
   private Long userId;
/**
  *   @hibernate.id
  *     generator-class="native"
  */
   public Long getUserId () {
      return userId;
   } 
   public void setUserId (Long userId) {
      this.userId = userId;
   }
   //</editor-fold>
   
  // <editor-fold defaultstate="collapsed" desc=" 1-1  Relation to dao.address address ">
   private dao.address address ;
   /**
    *  @hibernate.one-to-one class = "dao.address"
    */
   public dao.address getAddress() {
       return address;
   }
   public void setAddress() {
       this.address = address;
   }
   // </editor-fold>
}


package dao ;
/**
 * 
 *
 * @hibernate.class
 *     table="ADDRESS"
 *
 */
public class address {
 
  // <editor-fold defaultstate="collapsed" desc=" Property:   String street ">
  private String street;
/**
  *   @hibernate.property
  */
   public String getStreet () {
      return street;
   } 
   public void setStreet (String street) {
      this.street = street;
   }
   // </editor-fold>

  // <editor-fold defaultstate="collapsed" desc=" PrimaryKey:   Long codUser ">
   private Long codUser;
/**
  *   @hibernate.id
  *     generator-class="foreign"
  */
   public Long getCodUser () {
      return codUser;
   } 
   public void setCodUser (Long codUser) {
      this.codUser = codUser;
   }
   //</editor-fold>
    
  // <editor-fold defaultstate="collapsed" desc=" 1-1  Relation to dao.User user ">
   private dao.User user ;
   /**
    *  @hibernate.one-to-one class = "dao.User"
    */
   public dao.User getUser() {
       return user;
   }
   public void setUser() {
       this.user = user;
   }
   // </editor-fold>

}[/code]

abaixo está a mensagem de erro

[code]extension-library-variants:
init:
deps-clean:
Deleting directory /home/usuario/workspace/Teste/build
clean:
extension-library-variants:
init:
deps-jar:
Created dir: /home/usuario/workspace/Teste/build/classes
project-extension-init:
xdoclet-hibernate:
12/12/2006 10:28:49 xdoclet.XDocletMain start
INFO: Running <hibernate/>
Generating mapping file for dao.address.
   dao.address
Generating mapping file for dao.User.
   dao.User
xdoclet-hibernate-build:
Compiling 3 source files to /home/usuario/workspace/Teste/build/classes
hibernate-test-user-props:
hibernate-load-user-props:
hibernate-resources:
compile:
hibernate-schema-export:
12/12/2006 10:28:50 org.hibernate.cfg.Environment <clinit>
INFO: Hibernate 3.2.1
12/12/2006 10:28:50 org.hibernate.cfg.Environment <clinit>
INFO: hibernate.properties not found
12/12/2006 10:28:50 org.hibernate.cfg.Environment buildBytecodeProvider
INFO: Bytecode provider name : cglib
12/12/2006 10:28:50 org.hibernate.cfg.Environment <clinit>
INFO: using JDK 1.4 java.sql.Timestamp handling
12/12/2006 10:28:51 org.hibernate.cfg.Configuration addFile
INFO: Reading mappings from file: /home/usuario/workspace/Teste/build/classes/dao/User.hbm.xml
12/12/2006 10:28:51 org.hibernate.cfg.HbmBinder bindRootPersistentClassCommonValues
INFO: Mapping class: dao.User -> USER
12/12/2006 10:28:51 org.hibernate.cfg.Configuration addFile
INFO: Reading mappings from file: /home/usuario/workspace/Teste/build/classes/dao/address.hbm.xml
12/12/2006 10:28:51 org.hibernate.cfg.HbmBinder bindRootPersistentClassCommonValues
INFO: Mapping class: dao.address -> ADDRESS
12/12/2006 10:28:51 org.hibernate.dialect.Dialect <init>
INFO: Using dialect: org.hibernate.dialect.HSQLDialect
/home/usuario/workspace/Teste/extension/build.xml:27: Schema text failed: could not instantiate id generator
BUILD FAILED (total time: 2 seconds)

o problema é o seguinte… o HSQLDB não conhece a instrução

[code] /**

  • @hibernate.id generator-class=“foreign”
    */[/code]

agora falta descobrir o que coloco no lugar do foreign

Em relacionamentos one-to-one você tem que declarar qual propriedade da classe que possui o ID. Veja a 4a. linha:

<class name="person" table="PERSON">
    <id name="id" column="PERSON_ID">
        <generator class="foreign">
            <param name="property">employee</param>
        </generator>
    </id>
    ...
    <one-to-one name="employee"
        class="Employee"
        constrained="true"/>
</class>

Mas não sei como fazer isso utilizando xdoclet.