private void destroyRelations(Object oldRelatedId, CmpEntityBeanContext ctx) { JDBCCMRFieldBridge relatedCMRField = (JDBCCMRFieldBridge) cmrField.getRelatedCMRField(); relatedCMRField.removeRelatedPKWaitingForMyPK(oldRelatedId, ctx.getPrimaryKey()); try { if (cmrField.isForeignKeyValid(oldRelatedId)) { cmrField.destroyRelationLinks(ctx, oldRelatedId, true, false); } } catch (Exception e) { // no such object } }
private void createRelations(Object newRelatedId, CmpEntityBeanContext ctx) { try { if (cmrField.isForeignKeyValid(newRelatedId)) { cmrField.createRelationLinks(ctx, newRelatedId, false); } else { // set foreign key to a new value cmrField.setForeignKey(ctx, newRelatedId); // put calculated relatedId to the waiting list if (ctx.getPrimaryKey() != null) { JDBCCMRFieldBridge relatedCMRField = (JDBCCMRFieldBridge) cmrField.getRelatedCMRField(); relatedCMRField.addRelatedPKWaitingForMyPK(newRelatedId, ctx.getPrimaryKey()); } } } catch (Exception e) { // no such object } }