Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

210
Visualizações
Cómo filtrar una PageRequest en primavera

Cuando hago una solicitud sobre todas las noticias que tengo en mi base de datos, uso una PageRequest como esta:

 public Page<StatusUpdate> getPageSiteUser(int pageNumber) { PageRequest request = new PageRequest(pageNumber-1, pageSize, Sort.Direction.DESC, "added"); return statusUpdateDao.findAll(request); }

Y muestra todas las noticias de cada página ordenadas en perfecto orden.

Pero ahora, quiero seleccionar las noticias creadas por un usuario, en el mismo formato Pageable (no todas las noticias) y no encuentro cómo hacerlo, así que debo estar cometiendo un error estúpido en alguna parte... debería ser algo como...

 public Page<StatusUpdate> findMyStatusUpdates(Long user_id, int pageNumber) { PageRequest request = new PageRequest(pageNumber-1, pageSize, Sort.Direction.DESC, "added"); return statusUpdateDao.findAll(request); }

Por favor, responda con un enlace a la teoría si puede. La documentación habla sobre la clasificación, no sobre la selección real ( ingrese la descripción del enlace aquí )

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Puede combinar una consulta, para filtrar por el usuario, con una solicitud paginable. Spring puede crear la consulta en función del nombre del método.

Echa un vistazo a la documentación:

Spring data JPA Creación de consultas

Uso de Pageable, Slice y Sort en métodos de consulta

En tu caso, sin ver tu código, supongo que solo necesitas incluir en tu repositorio un método como:

 public interface StatusUpdateRepository extends Repository<StatusUpdate, Long> { //finBy<column_name> Page<User> findByUser(Long userId, Pageable pageable); }
over 4 years ago · Santiago Trujillo Relatório

0

También puede enviar una PageRequest a un filtro existente en su repositorio. Puede crear un método de repositorio, filtrarlos según las necesidades de su negocio.

Supongamos que le gustaría encontrar publicaciones proporcionando un usuario , atributos de estado y luego ordenarlas por su fecha de creación en orden descendente .

Es posible que no desee que todas las publicaciones se incluyan en el objeto de página mientras las envía a un buscapersonas, antes de agregarlas al modelo de modelo.

Esto es simplemente equivalente a una consulta sql como tal:

 select * from Post where user=user and status=status order by createdAt desc

--

 public interface BlogRepository extends PagingAndSortingRepository<Post, Long> { Page<Post> findByUserAndStatusOrderByCreatedAtDesc(PageRequest pageRequest, User user, boolean status); }

y en su controlador, use su implementación (postService) junto con un nuevo objeto PageRequest como:

 Page<Post> filteredPosts = postService.findByUserAndStatusOrderByCreatedAtDesc(PageRequest.of(evalPage, evalPageSize), user, status);

esto funciona bien para 2.xx; mientras que es mejor usar a continuación para 1.xx

 Page<Post> filteredPosts = postService.findByUserAndStatusOrderByCreatedAtDesc(new PageRequest(evalPage, evalPageSize), user, status);

Este repositorio me guió hasta cierto punto sobre este asunto con la lógica de paginación, etc.

Solo tuve que cambiar de ModelView a Model en el argumento del controlador y en su lugar devolvió String (nombre de la plantilla).

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda