/** * Recursive method to update the given instance. */ protected void update(OpenJPAStateManager sm, BitSet dirty, ClassMapping mapping, RowManager rowMgr, JDBCStore store, Collection customs) throws SQLException { Boolean custom = mapping.isCustomUpdate(sm, store); if (!Boolean.FALSE.equals(custom)) mapping.customUpdate(sm, store); if (Boolean.TRUE.equals(custom)) return; // update all fields before all mappings so that the mappings can // detect whether any fields in their rows have been modified FieldMapping[] fields = mapping.getDefinedFieldMappings(); for (int i = 0; i < fields.length; i++) { if (dirty.get(fields[i].getIndex()) && !bufferCustomUpdate(fields[i], sm, store, customs)) fields[i].update(sm, store, rowMgr); } ClassMapping sup = mapping.getJoinablePCSuperclassMapping(); if (sup == null) updateIndicators(sm, mapping, rowMgr, store, customs, false); else update(sm, dirty, sup, rowMgr, store, customs); mapping.update(sm, store, rowMgr); }
update(sm, dirty, sup, rowMgr, store, customs, updateIndicators);
update(sm, dirty, sup, rowMgr, store, customs, updateIndicators);
update(sm, dirty, sup, rowMgr, store, customs, updateIndicators);
update(sm, dirty, sup, rowMgr, store, customs, updateIndicators);
customs); } else if ((dirty = ImplHelper.getUpdateFields(sm)) != null) { update(sm, dirty, (ClassMapping) sm.getMetaData(), rowMgr, store, customs); } else if (sm.isVersionUpdateRequired()) {
customs); } else if ((dirty = ImplHelper.getUpdateFields(sm)) != null) { update(sm, dirty, (ClassMapping) sm.getMetaData(), rowMgr, store, customs, false); } else if (sm.isVersionUpdateRequired()) {
customs); } else if ((dirty = ImplHelper.getUpdateFields(sm)) != null) { update(sm, dirty, (ClassMapping) sm.getMetaData(), rowMgr, store, customs, false); } else if (sm.isVersionUpdateRequired()) {
customs); } else if ((dirty = ImplHelper.getUpdateFields(sm)) != null) { update(sm, dirty, (ClassMapping) sm.getMetaData(), rowMgr, store, customs, false); } else if (sm.isVersionUpdateRequired()) {
customs); } else if ((dirty = ImplHelper.getUpdateFields(sm)) != null) { update(sm, dirty, (ClassMapping) sm.getMetaData(), rowMgr, store, customs, false); } else if (sm.isVersionUpdateRequired()) {