Quick fix: usando Sort do Pageable
Atualizado
Atualizado
Se você reparar nos métodos do Repository, estamos utilizando ORDER BY ao invés do Sort do pageable, isso não é o ideal.
Iremos arrumar isso em três passos:
Colocar alias de resultado (tb_result) em ambas as consultas SQL e remover os Order BY.
Com isso, ao realizarmos a requisição no Postman com sort por name, ele irá ordenar somente pelas páginas. Isso acontece porque a nossa segunda consulta do repository, não tem "obrigação" de trazer os itens ordenados.
Ou seja, aquela list ali em cima de ProductProjection page, está ordenada. A de entities, não.
Lembrando, só podemos ordenar no momento por nome ou id, lembra da projection criada? (retorno da consulta SQL no h2)Lembrando, só podemos ordenar no momento por nome ou id, lembra da projection criada? (retorno da consulta SQL no h2)
Se quiséssemos ordenar por preço, por exemplo, teria que ter um getPrice e mudar a consulta SQL.
Ok! Vamos resolver o problema do resultado desordenado nas páginas ➡️