【问题标题】:@Query for selecting date from datetime@Query 用于从日期时间中选择日期
【发布时间】:2021-09-09 11:02:24
【问题描述】:

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

@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);

【问题讨论】:

    标签: jpa spring-data-jpa jpql


    【解决方案1】:

    试试下面的

    @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

    【讨论】:

    • 完美 - 谢谢。事实上,它启发了我将代码转换为使用 LocalDateTime
    猜你喜欢
    • 2013-10-02
    • 2014-07-12
    • 1970-01-01
    • 1970-01-01
    • 2010-12-17
    • 1970-01-01
    • 2015-05-14
    • 2019-04-04
    • 1970-01-01
    相关资源
    最近更新 更多