/** * INTERNAL: * Values to be included in the locking mechanism are added to the translation row. * For changed fields the normal build row is ok as only changed fields matter. */ public void addLockValuesToTranslationRow(ObjectLevelModifyQuery query) throws DatabaseException{ Object object; verifyUsage(query.getSession()); if (query.isDeleteObjectQuery()) { object = query.getObject(); } else { object = query.getBackupClone(); } for (Iterator vectors = getLockFieldsByTable().values().iterator(); vectors.hasNext();) { for (Enumeration fields = ((Vector)vectors.next()).elements(); fields.hasMoreElements();) { DatabaseField field = (DatabaseField)fields.nextElement(); DatabaseMapping mapping = descriptor.getObjectBuilder().getMappingForField(field); //Bug5892889, Exception will be thrown if no matched database field found if(mapping == null ){ throw DatabaseException.specifiedLockingFieldsNotFoundInDatabase(field.getQualifiedName()); }else{ mapping.writeFromObjectIntoRow(object, query.getTranslationRow(), query.getSession()); } } } }
public void addLockValuesToTranslationRow(ObjectLevelModifyQuery query) throws DatabaseException { Object object; verifyUsage(query.getSession()); if (query.isDeleteObjectQuery()) { object = query.getObject();
public void addLockValuesToTranslationRow(ObjectLevelModifyQuery query) throws DatabaseException { Object object; verifyUsage(query.getSession()); if (query.isDeleteObjectQuery()) { object = query.getObject();