diff --git a/backend/src/main/java/core/entities/timemanager/Task.java b/backend/src/main/java/core/entities/timemanager/Task.java index 52d38cd..41e68a9 100644 --- a/backend/src/main/java/core/entities/timemanager/Task.java +++ b/backend/src/main/java/core/entities/timemanager/Task.java @@ -34,7 +34,7 @@ public class Task { @OneToOne(mappedBy = "task", cascade = CascadeType.ALL, orphanRemoval = true) private TaskSerieItem taskSerieItem; - @OneToMany(mappedBy = "parent", cascade = CascadeType.ALL, orphanRemoval = true, fetch = FetchType.EAGER) + @OneToMany(mappedBy = "parent", cascade = CascadeType.REMOVE, orphanRemoval = true, fetch = FetchType.EAGER) private Set subtasks; @ManyToOne diff --git a/backend/src/main/java/core/entities/timemanager/TaskSerie.java b/backend/src/main/java/core/entities/timemanager/TaskSerie.java index 87df8cd..1cf48e9 100644 --- a/backend/src/main/java/core/entities/timemanager/TaskSerie.java +++ b/backend/src/main/java/core/entities/timemanager/TaskSerie.java @@ -15,9 +15,6 @@ public class TaskSerie { @OneToMany(fetch = FetchType.EAGER, mappedBy = "taskSerie", orphanRemoval = true) List tasks = new ArrayList<>(); - - - public long getTaskSerieID() { return taskSerieID; } diff --git a/backend/src/main/java/core/entities/timemanager/Taskgroup.java b/backend/src/main/java/core/entities/timemanager/Taskgroup.java index ffea384..cc16b99 100644 --- a/backend/src/main/java/core/entities/timemanager/Taskgroup.java +++ b/backend/src/main/java/core/entities/timemanager/Taskgroup.java @@ -25,7 +25,7 @@ public class Taskgroup { @JoinColumn(name = "taskgroupuser", nullable = false) private User user; - @OneToMany(mappedBy = "parent", cascade = CascadeType.ALL, fetch = FetchType.EAGER, orphanRemoval = true) + @OneToMany(mappedBy = "parent", cascade = CascadeType.REMOVE, fetch = FetchType.EAGER, orphanRemoval = true) private Set children; @ManyToOne @@ -33,7 +33,7 @@ public class Taskgroup { private Taskgroup parent; - @OneToMany(mappedBy = "taskgroup", cascade = CascadeType.ALL, fetch = FetchType.EAGER, orphanRemoval = true) + @OneToMany(mappedBy = "taskgroup", cascade = CascadeType.REMOVE, fetch = FetchType.EAGER, orphanRemoval = true) private Set tasks; public Taskgroup(String taskgroupName, User user) { diff --git a/backend/src/main/java/core/services/TaskSeriesService.java b/backend/src/main/java/core/services/TaskSeriesService.java index 4d99d09..fbfbf22 100644 --- a/backend/src/main/java/core/services/TaskSeriesService.java +++ b/backend/src/main/java/core/services/TaskSeriesService.java @@ -135,11 +135,7 @@ public class TaskSeriesService { task.setTaskSerieItem(null); taskSerieItemRepository.delete(item); if(taskSerie.getTasks().isEmpty()) { - for(TaskSerieItem taskSerieItem : taskSerie.getTasks()) { - taskSerieItem.setTaskSerie(null); - } - taskSerie.getTasks().clear(); - taskSeriesRepository.delete(taskSerie); + taskSeriesRepository.deleteUnreferenced(); } else if(task.getParent() == null){ repearIndexing(taskSerie, item.getSeriesIndex()); }