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?