Сортировка по нескольким полям (сопоставление) - PullRequest
1 голос
/ 05 августа 2020

В моем классе модели объектных блоков у меня есть 2 поля:

@Convert(converter = LocalDateTimeConverter.class, dbType = String.class)
public LocalDateTime dateModified;
@Convert(converter = LocalDateTimeConverter.class, dbType = String.class)
public LocalDateTime dateTaken;

У некоторых элементов оба поля заполнены, в то время как у других dateModified не равно null, а dateTaken имеет значение null. Я хотел бы отсортировать результаты запроса по dateTaken, если он не равен null, в противном случае по dateModified. Можно ли сделать это с помощью запроса Objectbox (т.е. какой-то сортировки)?

1 Ответ

1 голос
/ 05 августа 2020

Если вы не против сделать это на стороне Java / Kotlin, вы можете сделать это, используя QueryBuilder.sort(comparator).

Поскольку вы реализуете компаратор, вы сортируете по своему усмотрению. Пример псевдокода:

dateThis = x.date1 != null? x.date1: x.data2
dateOther = y.date1 != null? y.date1: y.data2
return dateThis.compareTo(dateOther)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...