J'ai actuellement un système en place qui peut filtrer et trier des enregistrements dans la base de données et les renvoyer comme objet paginé. L'une des lignes est comme ceci:
final PageRequest request = new PageRequest(this.pagingSettings.getPageNumber(), this.pagingSettings.getPageSize(), sortDirection, sortedBy);
3 Réponses :
Donc, fondamentalement, vous devez faire deux choses:
@SortComparator(HouseComparator.class) List<House> findByHouseNumber(Pageable pageable);
Je ne suis pas sûr que c'est ce que je cherche. Le PageRequest permet d'avoir une réponse pagaie de la liste totale des objets. Cela pourrait signifier que je n'ai que 10 des 200 objets disponibles. Je ne sais pas comment adapter votre solution ici. Pour moi, cela semble être post-tri ici. Je vais voir comment installer cette solution et rapporter ce qu'il fait.
J'utilise page
Quel DB utilisez-vous?
J'utilise une base de données Postgres.
Je pense que vous pouvez essayer la classe de données de printemps code> jpasort code> qui permet aux appels de fonction.
comme indiqué dans le Documentation Vous aurez quelque chose comme: P>
@Query("select u from User u where u.lastname like ?1%") List<User> findByAndSort(String lastname, Sort sort); repo.findByAndSort("targaryen", JpaSort.unsafe("LENGTH(firstname)"));
suppose que vous avez une entité avec une chaîne code> classée et que vous souhaitez trier comme Vous devez donc faire suite à Choses: (N'oubliez pas que cela fonctionne uniquement avec la base de données Oracle) strong> p> long code> avec JPA pagable.
long code> Type Li>
@formula code> dans la méthode getter et évoquer
to_number () code> li>
ol>
if (Objects.nonNull(pagingRequest.getSort()) && pagingRequest.getSort().getFieldName().equals("oldField")) {
pagingRequest.getSort().setFieldName("newField");
}
Avez-vous eu une solution pour ce problème?