diff --git a/db/src/main/java/de/muehlencord/shared/db/CommonAbstractController.java b/db/src/main/java/de/muehlencord/shared/db/CommonAbstractController.java index 8ff1499..c5b6131 100644 --- a/db/src/main/java/de/muehlencord/shared/db/CommonAbstractController.java +++ b/db/src/main/java/de/muehlencord/shared/db/CommonAbstractController.java @@ -137,16 +137,15 @@ public abstract class CommonAbstractController { @Transactional @Lock(LockType.WRITE) public T update(T entity, String updatedBy) throws ControllerException { - T currentEntity = executeUpdate(entity, updatedBy); - T newEntity = EntityUtil.cloneToNewEntity(currentEntity); + T currentEntity = executeUpdate(entity, updatedBy); if (EndDateable.class.isAssignableFrom(entity.getClass())) { + T newEntity = EntityUtil.cloneToNewEntity(currentEntity); em.merge(currentEntity); - return create(newEntity, updatedBy); } else { // if it is not enddatable, just update it (already done above) // and save it - return em.merge(entity); + return em.merge(currentEntity); } }