Viamos
@Viamos
Человек, который любит пиццу

Как создать запрос диапазона даты, используя query?

Здравствуйте! Помогите пожалуйста с sql-запросом.
Я использую spring jpa где дает возможность писать запросы

Мне нужно написать запрос который будет выдавать список мероприятий в диапазоне дней и времени

Сам класс с переменными
@Table(name = "events")
public class Event extends AbstractBaseEntity{

    @Column(name = "image_file_id")
    private Long imageFileId;
    @Column(name = "title")
    private String title;
    @Column(name = "description")
    private String description;

    @Column(name = "start_date")
    private LocalDate dateEvent;
    @Column(name = "start_time")
    private LocalTime timeEvent;
    @Transient
    private Ticket ticket;


Я предполагаю что список будет выдавать мероприятия начиная с сейчас() до даты которой я укажу через параметр
Буду рад увидеть написание метода без query, использую JpaRepository<>
@Query("select id,imageFileId,title,description,dateEvent,timeEvent from Event " +
            "where (dateEvent between start_date and )")
    List<Event> findEventByDateEvent(
            @Param("end_date") LocalDate date,
            @Param("end_time") LocalTime time);
  • Вопрос задан
  • 70 просмотров
Решения вопроса 1
azerphoenix
@azerphoenix Куратор тега Spring
Java Software Engineer
Добрый день.
Вы можете не писать Query, а использовать возможности самого JPA
Полезная статья по теме: https://www.baeldung.com/spring-data-jpa-query-by-date
По идее, должно получиться примерно так:
findAllByDateEventBetween(@Param("end_date") LocalDate date, @Param("end_time") LocalTime time);

Обратите внимание на between
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы