1
resposta

ordenar por mais de uma campo

Vi no exemplo o quanto é simples realizar a ordenação, passando o nome do campo.

Como seria possível ordenar por mais de um campo, por exemplo, por nome e por salario ?

Por último, como seria possível ordenar por mais de um campo em "direções" diefrentes, por exemplo, por nome DESC e por salario ASC ?

1 resposta

"Como seria possível ordenar por mais de um campo, por exemplo, por nome e por salario ?"

O parâmetro "properties" de Sort.by é um varargs.

Portanto, basta passar os próximos como strings, separados por vírgula.

Por exemplo:

PageRequest.of(scanner.nextInt(), 2, Sort.by(Sort.Direction.ASC, "nome", "salario"));

"Por último, como seria possível ordenar por mais de um campo em "direções" diefrentes, por exemplo, por nome DESC e por salario ASC ?"

Não testei, mas acredito que esse objetivo seja atingido da seguinte forma:

Passe uma lista de Order, dentro de Sort.by.

Exemplo:

PageRequest.of(scanner.nextInt(), 2, Sort.by(List.of(Sort.Order.desc("nome"), Sort.Order.asc("salario"))));