function replaceAll(str, find, replace) {
var i = str.indexOf(find);
if (i > -1){
str = str.replace(find, replace);
i = i + replace.length;
var st2 = str.substring(i);
if(st2.indexOf(find) > -1){
str = str.substring(0,i) + replaceAll(st2, find, replace);
}
}
return str;
}
Проблема заключается в том, что сортировка PageRequest Spring Data выполняется на уровне базы данных путем формирования предложения ORDER BY.
Вы могли бы создать столбец @Formula, например
@Entity
public class Game {
...
// rewrite your logic here in HQL
@Formula("case when startTime >= endTime then 'FINISHED' ... end")
private String status;
. Тогда можно будет использовать новый столбец в порядке сортировки, поскольку все, что вы напишете в формуле, будет передано Предложение ORDER BY.