Here's the proposed specification update for the delete section of consistency. It's written to go into 15.3 where we also discuss consistency for updates, and I think it also needs to go in another section because the first part of it doesn't really belong in the Relational Mapping part of the spec.

<proposed>
Delete consistency

If an instance is deleted, then during flush, each relationship in which the instance is involved is updated for consistency. These changes are applied to the object model instances. If the relationship is marked as dependent, the related instance is deleted. If the relationship is not marked as dependent, the corresponding field in the related instance is updated to not refer to the instance being deleted. If the related field is a collection, then any referencing element is removed. If the related field is a map, then any referencing map entry is removed. If the related field is a reference, then it is set to null. If the related instances are not instantiated in memory, there is no requirement to instantiate them. Changes are applied to the second level cache upon commit.

The object model changes are synchronized to the database according to the declared mapping of the relationships to the database. If related instances are to be deleted, and there is a foreign key declared with a delete action of cascade delete, then the jdo implementation needs to do nothing to cause the delete of the related instance. Similarly, if there s a foreign key declared with a delete action of nullify, then the jdo implementation needs to do nothing to cause the column of the mapped relationship to be set to null. If there is a foreign key declared to be not nullable, and the requirement is to nullify the related field, then JDODataStoreException is thrown at flush.

</proposed>


Craig Russell
Architect, Sun Java Enterprise System http://java.sun.com/products/jdo
408 276-5638 mailto:[EMAIL PROTECTED]
P.S. A good JDO? O, Gasp!

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to