Нужен запрос JPA, который сортирует сообщения, опубликованные за последние 4 часа - PullRequest
2 голосов
/ 17 июня 2020

@ Repository publi c интерфейс PostRepository расширяет JpaRepository {

Page<Post> findAllByCategory(Pageable pageable, Category category);


LocalDate dateBefore4Hours = LocalDate.now().minus(4, ChronoUnit.HOURS); //tried but couldnt figured it out


@Query("SELECT a FROM Post a WHERE a.createdDate  ") //none of sql keywords i've tried here didnt wor
Page<Post> findAllWithCreationDateTimeInLastFourHours();

}

1 Ответ

1 голос
/ 17 июня 2020

Если вам нужно сравнить время, вы можете использовать LocalDateTime, потому что LocalDate не имеет компонента времени. Итак, чтобы получить LocalDateTime из 4 часов go, вы можете сделать это:

LocalDateTime currentTimeMinus4Hours = LocalDateTime.now().minusHours(4L);

Затем вы можете просто использовать это в своем запросе и отсортировать столбец, вот так:

@Query("SELECT a FROM Post a WHERE a.createdDate > :currentTimeMinus4Hours ORDER BY a.createdDate")
Page<Post> findRecentPosts(LocalDateTime currentTimeMinus4Hours);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...