if (field.getMappedBy() != null)
return;
if (field.getJoinDirection() == field.JOIN_INVERSE) {
if (sm.getLoaded().get(field.getIndex())) {
OpenJPAStateManager rel = RelationStrategies.getStateManager(sm.
fetchObjectField(field.getIndex()), store.getContext());
updateInverse(sm, rel, store, rm);
} else
nullInverse(sm, rm);
} else {
field.deleteRow(sm, store, rm);
// if our foreign key has a delete action, we need to set the
// related object so constraints can be evaluated
OpenJPAStateManager rel = RelationStrategies.getStateManager
(sm.fetchObjectField(field.getIndex()), store.getContext());
if (rel != null) {
ForeignKey fk = field.getForeignKey((ClassMapping)
rel.getMetaData());
if (fk.getDeleteAction() == ForeignKey.ACTION_RESTRICT ||
fk.getDeleteAction() == ForeignKey.ACTION_CASCADE) {
Row row = field.getRow(sm, store, rm, Row.ACTION_DELETE);
row.setForeignKey(fk, null, rel);
// this is for bi-directional maps, the key and value of the