/** * {@inheritDoc} */ @Override public <E extends IEntity> E merge(E entity, EMergeMode mergeMode) { return merge(Collections.singletonList(entity), mergeMode).get(0); }
IComponent uowOwningComponent; if (owningComponent instanceof IEntity) { uowOwningComponent = merge((IEntity) owningComponent, mergeMode, alreadyMerged, eventsToRelease); } else { uowOwningComponent = mergeComponent(owningComponent, null, mergeMode, alreadyMerged, eventsToRelease); ((IEntity) propertyValue).getId()); if (registeredProperty == null) { mergedProperties.put(propertyName, merge((IEntity) propertyValue, mergeMode, alreadyMerged, eventsToRelease)); } else { if (mergeMode == EMergeMode.MERGE_EAGER || mergeMode == EMergeMode.MERGE_LAZY) { mergedProperties.put(propertyName, merge((IEntity) propertyValue, mergeMode, alreadyMerged, eventsToRelease));
if (registeredProperty == null) { mergedProperties.put(propertyName, merge((IEntity) propertyValue, mergeMode, alreadyMerged, eventsToRelease)); } else { if (mergeMode == EMergeMode.MERGE_EAGER || mergeMode == EMergeMode.MERGE_LAZY) { merge((IEntity) propertyValue, mergeMode, alreadyMerged, eventsToRelease)); if (collectionElement instanceof IEntity) { registeredCollection.add( merge((IEntity) collectionElement, mergeMode, alreadyMerged, eventsToRelease)); } else if (collectionElement instanceof IComponent) { IComponent registeredComponent = null;
/** * Merge back flushed entities. * * @param updatedEntities * the updated entities */ protected void mergeBackFlushedEntities(Collection<IEntity> updatedEntities) { if (updatedEntities != null) { List<IEntity> mergedEntities = merge(new ArrayList<>(updatedEntities), EMergeMode.MERGE_CLEAN_LAZY); if (recordedMergedEntities != null) { recordedMergedEntities.addAll(mergedEntities); } } }
@Override protected void doInTransactionWithoutResult(TransactionStatus status) { IEntity entityClone = cloneInUnitOfWork(entity); resetTransientEntity(entityClone); merge(entityClone, EMergeMode.MERGE_EAGER); } });
@Override public boolean execute(IActionHandler actionHandler, Map<String, Object> innerContext) { AbstractBackendController completedController = (AbstractBackendController) innerContext.get( COMPLETED_CONTROLLER_KEY); AbstractBackendController mainController = (AbstractBackendController) getBackendController(innerContext); mainController.merge(completedController.getRecordedUowMergedEntitiesAndClear(), EMergeMode.MERGE_LAZY); return super.execute(actionHandler, innerContext); } }, mergeContext);
setDirtyTrackingEnabled(false); for (E entity : entities) { mergedList.add(merge(entity, mergeMode, alreadyMerged, eventsToRelease));