Comportamento estranho hibernate

Bom, tenho uma Classe “Pessoa” e uma outra tabela “ItemPessoa”, onde uma pessoa pode ter vários itens.

Porém ao tentar atualizar o cadastro de uma pessoa adicionando um novo item, o hibernate faz o seguinte com a tabela ItemPessoa:

1 - Insere o novo itemPessoa (insert into …)
2 - Atualiza todos os itemPessoa( update…)
3 - Tenta setar todos os id_pessoa da tabela itemPessoa para NULL (o que obviamente dá erro por tentar violar a restrição de que essa chave não pode ser nula).

O que pode estar ocorrendo ?

Qual tipo de mapeamento esta utilizando?

Posta a classe para que possamos verificar.

Pessoa.java

public class Pessoa extends AbstractBean {

	private Integer id;

	private String nome;

	private Set<ItemPessoa> itens;

        /*GETTERS and SETTERS*/
}
public class ItemPessoa extends AbstractBean {

	private Integer id;
       
        private String descricao;
	
	private Pessoa pessoa;

    /*GETTERS and SETTERS*/

}

Pessoa.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
   "-//Hibernate/Hibernate Mapping DTD//EN"
   "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping auto-import="true">
	<class name="br.com.ssd.bean.Pessoa" schema="cad" table="pessoa" dynamic-update="true">
		<id name="id" type="integer">
			<generator class="sequence">
				<param name="sequence">cad.pessoa_id_seq</param>
			</generator>
		</id>
		<property name="nome" type="string" column="numero" />
		
		<set name="itens" table="cad.item_pessoa" cascade="all" outer-join="true" fetch="subselect">
			<key column="id_pessoa" />
			<one-to-many class="br.com.ssd.bean.ItemPessoa" />
		</set>
	</class>
</hibernate-mapping>

ItemPessoa.hbm.xml

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
   "-//Hibernate/Hibernate Mapping DTD//EN"
   "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

<hibernate-mapping auto-import="true">
	<class name="br.com.ssd.bean.ItemPessoa" schema="cad" table="item_pessoa" dynamic-update="true">
		<id name="id" type="integer">
			<generator class="sequence">
				<param name="sequence">cad.item_pessoa_id_seq</param>
			</generator>
		</id>
		<property name="descricao" type="string" column="descricao" />		
		<many-to-one name="pessoa" class="br.com.ssd.bean.Pessoa" column="id_pessoa" cascade="none" outer-join="false" />
	</class>
</hibernate-mapping>