/** * INTERNAL: * Update the relation table with the entries related to this mapping. * Delete entries removed, insert entries added. * If private also insert/delete/update target objects. */ public void postUpdate(WriteObjectQuery query) throws DatabaseException { if (isReadOnly()) { return; } // If objects are not instantiated that means they are not changed. if (!isAttributeValueInstantiatedOrChanged(query.getObject())) { return; } Object objectsInMemoryModel = getRealCollectionAttributeValueFromObject(query.getObject(), query.getSession()); // This accesses the backup in uow otherwise goes to database (may be better of to delete all in non uow case). Object currentObjectsInDB = readPrivateOwnedForObject(query); if (currentObjectsInDB == null) { currentObjectsInDB = getContainerPolicy().containerInstance(1); } compareObjectsAndWrite(currentObjectsInDB, objectsInMemoryModel, query); }
if (containerPolicy.propagatesEventsToCollection() || cascade) { objects = getRealCollectionAttributeValueFromObject(query.getObject(), querySession);
if (containerPolicy.propagatesEventsToCollection() || cascade) { objects = getRealCollectionAttributeValueFromObject(query.getObject(), session);
if (containerPolicy.propagatesEventsToCollection() || cascade) { objects = getRealCollectionAttributeValueFromObject(query.getObject(), session);
Object objects = getRealCollectionAttributeValueFromObject(query.getObject(), query.getSession()); if (cp.isEmpty(objects)) { return;
Object objects = getRealCollectionAttributeValueFromObject(query.getObject(), query.getSession()); if (cp.isEmpty(objects)) { return;
Object objects = getRealCollectionAttributeValueFromObject(query.getObject(), query.getSession()); if (cp.isEmpty(objects)) { return;
Object objects = getRealCollectionAttributeValueFromObject(query.getObject(), query.getSession());
Object objects = getRealCollectionAttributeValueFromObject(query.getObject(), query.getSession());
Object objects = getRealCollectionAttributeValueFromObject(query.getObject(), query.getSession());