Запрос даты Spring Data JPA не работает для даты been и даты, превышающей

#java #spring #spring-boot #spring-data-jpa #spring-data

#java #spring #spring-boot #spring-data-jpa #spring-data

Вопрос:

Я пытаюсь выполнить запрос, используя Spring data JPA, со следующими запросами. Но я мог бы получить файловый вывод между любыми заданными датами.

 @Query(value = "SELECT new com.xxx.DonationByUserTotal(d.club.name, d.club.id , d.club.logo, SUM(d.amount)) "  
        "from Donation d where d.user.id=?1 and d.createdDate  >= ?2 GROUP BY d.club")
List<DonationByUserTotal> findByUserAndFromDate(int User, @Param("fromDate") Date fromDate);
 

Этот запрос возвращает все даты для данного пользователя, но не фильтрует между заданными датами.

 @Query("SELECT new com.xxx.DonationByUserTotal(d.club.name, d.club.id , d.club.logo, SUM(d.amount) )"  
        "from Donation d where d.user.id=?1 and d.createdDate BETWEEN ?2 and  ?3  GROUP BY d.club")
List<DonationByUserTotal> findByUserAndBetweenDates(int User,@Param("from")Date fromDate,@Param("to") Date toDate);
 

Этот запрос возвращает пустой набор, несмотря на допустимые даты между ними.

Может кто-нибудь помочь мне решить эту проблему?

PS:

Класс сущности использует

 @CreatedDate
@Temporal(TemporalType.TIMESTAMP)
@Column(nullable = false, updatable = false)
private Date createdDate;
 

и параметры, передаваемые в запрос, также с меткой времени.

Ответ №1:

Я смог понять, что ошибка была вызвана другим форматом даты. Поскольку spring не выдавал никаких ошибок, было трудно понять это.