@Query 从日期时间中选择日期

@Query for selecting date from datetime

我有一个包含时间戳列的 JPA 映射“事件”对象。我正在尝试 select 在特定日期发生的所有事件。为此,我需要忽略时间戳的时间部分。我不确定使用非数据库特定功能是否可行?这样的事情无法 select:

@Query("SELECT r FROM BioChemRequest r WHERE r.pasId = :pasid AND r.observationDate BETWEEN :startDate AND :startDate")
public List <BioChemRequest> find(@Param("pasid") String pasid , @Param("startDate") Date startDate);

尝试以下方法

@Query("SELECT r FROM BioChemRequest r WHERE r.pasId = :pasid AND r.observationDate BETWEEN :startDate AND :endDate")
public List <BioChemRequest> find(@Param("pasid") String pasid , @Param("startDate") Calendar startDate, @Param("endDate") Calendar endDate);

其中 startDate 是一个日历,小时为 00:00:00 000

endDate 是一个日历,小时为 23:59:59 999