/** * 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); }
if (sup == null) { if (updateIndicators) { updateIndicators(sm, mapping, rowMgr, store, customs, false);
if (sup == null) { if (updateIndicators) { updateIndicators(sm, mapping, rowMgr, store, customs, false);
if (sup == null) { if (updateIndicators) { updateIndicators(sm, mapping, rowMgr, store, customs, false);
if (sup == null) { if (updateIndicators) { updateIndicators(sm, mapping, rowMgr, store, customs, false);
store, customs); } else if (sm.isVersionUpdateRequired()) { updateIndicators(sm, (ClassMapping) sm.getMetaData(), rowMgr, store, customs, true); } else if (sm.isVersionCheckRequired()) {
store, customs, false); } else if (sm.isVersionUpdateRequired()) { updateIndicators(sm, (ClassMapping) sm.getMetaData(), rowMgr, store, customs, true); } else if (sm.isVersionCheckRequired()) {
store, customs, false); } else if (sm.isVersionUpdateRequired()) { updateIndicators(sm, (ClassMapping) sm.getMetaData(), rowMgr, store, customs, true); } else if (sm.isVersionCheckRequired()) {
store, customs, false); } else if (sm.isVersionUpdateRequired()) { updateIndicators(sm, (ClassMapping) sm.getMetaData(), rowMgr, store, customs, true); } else if (sm.isVersionCheckRequired()) {
store, customs, false); } else if (sm.isVersionUpdateRequired()) { updateIndicators(sm, (ClassMapping) sm.getMetaData(), rowMgr, store, customs, true); } else if (sm.isVersionCheckRequired()) {