Hibernate com Spring não salva set

Boa tarde.
Estou com o seguinte mapeamento no hibernate acessando o banco de dados Oracle:

<hibernate-mapping>
	<class name="Caixa"
		table="CAIXA" batch-size="16" rowid="rowid">

		<id column="CODIGO" name="codigo" type="java.lang.Long" unsaved-value="0">
			<generator class="increment"></generator>
		</id>

		<property column="DESCRICAO" name="descricao" type="java.lang.String" />
		<property column="STATUS" name="status" type="java.lang.String" />
		<property column="ALTURA" name="altura" type="java.lang.Double" />
		<property column="LARGURA" name="largura" type="java.lang.Double" />
		
		<set name="capacidades" batch-size="16" cascade="all-delete-orphan"
			lazy="false" table="CAIXA_ESPEC" fetch="select" inverse="false">
			<key column="CD_CAIXA"></key>
			<one-to-many class="CapacidadeCaixa"/>
		</set>
	</class>

</hibernate-mapping>

No formulario é informado alguns dados para popular o objeto da classe CapacidadeCaixa que é incluido o set chamado capacidades.

Quando faço uma inserção de uma nova caixa e suas respectivas capacidades funciona sem problemas. Quando é recuperado do banco de dados e excluido ou inserido um novo objeto de CapacidadeCaixa no set ocorre o seguinte problema:

org.springframework.orm.hibernate3.HibernateSystemException: a different object with the same identifier value was already associated with the session: [CapacidadeCaixa#6]; nested exception is org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [CapacidadeCaixa#6]

Ambos os objeto, Caixa e CapacidadeCaixa foi reescrito os metodos equals e hashCode.

Alguem sabe como resolver ou passou por este problema?