У меня есть объект Activity
, который может быть parent
или child
.
class Activity {
long modificationDate;
Activity parentActivity;
Set<Activity> subActivities;
boolean active;
}
Мне нужно отсортировать действия, ранее загруженные из базы данных, их modification date
, но все еще grouped by
их родительскую активность.
Правила: Ребенок E1
может обновляться, а родительский P1
- нет. Таким образом, changeDate E1
может быть больше, чем P1
.
Если ребенок обновлен, its parent has to rise
верхний список со всеми его дочерними элементами
Пример: активность | дата модификации
E1 | 01 june
P2 | 01 june
P1 | 01 june
P3 | 02 june
E1 | 10 july
После сортировки он должен дать
P1 | 01 june
E1 | 10 july
E1 | 01 june
P3 | 02 june
P2 | 01 june
База Java
Set<Activity> actives = getRepository().findActiveActivities().stream()
.sorted(Comparator.comparing(Activity::getModificationDate).reversed())
.collect(Collectors.toCollection(LinkedHashSet::new));
actives = actives.stream().sorted((Activity a, Activity b) -> {
//sort logic
}).collect(Collectors.toCollection(LinkedHashSet::new));
Я действительно не знаю, можно ли выполнить запрос sql, надеюсь, что кто-то может предоставить мне решение.
EDIT:
Это не школьный проект. Я делаю службу отдыха, которая предоставляет модели баз данных. Proff для мышления ppl Я лжец: ссылка
В этот момент запрос get на http://localhost/activity
предоставляет заданные действия, несортированные, как json.
Мой веб-сайт, вызывающий этот веб-сервис, также имеет несортированные действия, а таблица действий полностью нечитаема.