Hello all,
Maybe someone had found this problema before, but I didn't see any post
about it.
I explain the sistuation:
I've got the entities Smartcard and Product, and a flattened relatioship
between them, listPreloadProducts.
The problem arises when I create a new Smartcard with some Products and
an error happens during the creation.
For example a Unique Index constraint is broken. At this moment a
CayenneRuntimeException is thrown, I catch the Exception and I do a
DataContext.rollbackChanges().
After this, I can't do any insert, I've got always a
CayenneRuntimeException.
Trying to find the source of the exception I've realised that
DataContext.rollbackChanges() doesn't delete the flattenedInserts List
in the ObjectStore.
This means there is a FlattenedRelationshipInfo Object in the List
where the DataObject source is TRANSIENT.
So next time I try to do commit, this flattenedInserts List is iterated
in ContextCommit.categorizeFlattenedInsertsAndCreateBatches().
In this iteration is only checked if any DataObject in the relationship
is DELETED. So the FlattenedRelationshipInfo is tried to be inserted and
an error happens.
Is this a known bug? I'm missing something?
Thanks,
Jorge Sopena
This archive was generated by hypermail 2.0.0 : Wed Nov 10 2004 - 04:48:22 EST