Hibernate: list-index

O seguinte exemplo gera uma exceção “not null” na coluna “numero” da tabela “filho”. A coluna “numero” não deveria ser tratada automaticamente pelo Hibernate? O que será que há de errado nesse código?


<hibernate-mapping>
   
  <class name="Pai" table="pai">
    
    <id name="id" column="id">
      <generator class="native">
        <param name="sequence">pai_id</param>
      </generator>
    </id>

    <list name="filhos" inverse="true" cascade="all">
      <key column="id_pai" not-null="true"/>
      <list-index column="numero"/>
      <one-to-many class="Filho"/>
    </list>  
    
  </class>
    
</hibernate-mapping>

<hibernate-mapping>
   
  <class name="Filho" table="filho">
    
    <id name="id" column="id">
      <generator class="native">
        <param name="sequence">filho_id</param>
      </generator>
    </id>    

    <many-to-one name="pai" column="id_pai" not-null="true"/>
    
  </class>
    
</hibernate-mapping>

SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
        
Session session =  sessionFactory.openSession();
        
Pai pai = new Pai();
pai.setFilhos(new ArrayList<Filho>());
Filho filho = new Filho();
filho.setPai(pai);
pai.getFilhos().add(filho);        
session.save(pai);
        
session.flush();        
session.close();   
     
sessionFactory.close();

http://www.hibernate.org/hib_docs/v3/reference/en/html/collections.html#collections-onetomany
http://www.hibernate.org/hib_docs/v3/reference/en/html/example-parentchild.html#example-parentchild-bidir