Java Spring Data пустой список при попытке поиска по дате

Мне нужно получить коллекцию заказов по дате (БЕЗ времени), но при вызове findByOrderDate() я получаю 0, хотя в бд записи есть. Почему я получаю пустой список и как этой исправить?

Controller:

@GetMapping("/analytics")
        public String analyticsPage(
                Model model,
                @RequestParam(required = false, name = "dateFrom") @DateTimeFormat(pattern = "yyyy-MM-dd") Date dateFrom,
                @RequestParam(required = false, name = "dateTo") @DateTimeFormat(pattern = "yyyy-MM-dd") Date dateTo
        ) {
            System.out.println(orderRepo.findByOrderDate(dateFrom).size()); // **Получаю 0**
            return "/admin/analytics";
        }

OrderRepo:

public interface OrderRepo extends JpaRepository<Order, Long> {
    Order findByOrderReference(String or);
    List<Order> findByOrderDate(@Temporal(TemporalType.DATE) Date date);
    List<Order> findByOrderDateBetween(Date from, Date to);
}

entity:

@Entity(name = "order")
@NoArgsConstructor
@Getter
@Setter
public class Order {
    private Long id;
    @Column(name = "first_name")
    private String firstName;
    @Column(name = "last_name")
    private String lastName;
    @Column(name = "order_date")
    @Temporal(TemporalType.TIMESTAMP)
    @NotNull
    private Date orderDate;

Ответы (1 шт):

Автор решения: ulxanxv

Потому что вы написали неправильно :)

Метод List<Order> findByOrderDate(@Temporal(TemporalType.DATE) Date date) будет искать записи не по тому, как вы хотите. Насколько я понял, вы хотите найти все записи после указанной даты. Данный метод будет искать записи В УКАЗАННУЮ ДАТУ С ТОЧНОСТЬЮ ДО НАНОСЕКУНДЫ (немного утрировал, чтобы было понятнее)

Вот правильное наименование метода :: List<Order> findByOrderDateIsAfter(@Temporal(TemporalType.DATE) Date dateFrom);

→ Ссылка