【问题标题】:JPA and Sysdate issue - forcefully accepting Double data typesJPA 和 Sysdate 问题 - 强制接受 Double 数据类型
【发布时间】:2021-11-08 19:45:21
【问题描述】:

我正在使用 Spring Data JPA 并开发了以下查询,该查询将动态获取日期值并获取数据,但看起来它寻找 Double 数据类型是有争议的。有什么理由要加倍吗?

@Query("SELECT new com.XXX.SomeDTODto(p.visitDate, ..........) "
        + "FROM PatientData p "
        + "INNER JOIN ................. "
        + "INNER JOIN ................."
        + "INNER JOIN .................. "
        + "INNER ..... "
        + "WHERE (TRUNC (p.visitDate) >= TRUNC (SYSDATE + :startDay) AND TRUNC (p.visitDate) <= TRUNC (SYSDATE + :endDay))")
Page<SomeDTODto> findByvisitDateBetweenDays(@Param("startDay") Double startDay,
                                                   @Param("endDay") Double endDay, Pageable pageable);

我在下面,功能测试用例针对 H2 DB 运行并且失败

这里 TRUNC(patient0_.patient_dt)>=TRUNC(SYSDATE+?) 和 TRUNC(patient0_.patient_dt)

【问题讨论】:

    标签: jpa h2 functional-testing


    【解决方案1】:

    你可以在下面使用,这对我来说很好,整数也被转换为 Double

    "WHERE (TRUNC (p.visitDate) >= TRUNC (SYSDATE + CAST(:startDay AS double) + 0) AND TRUNC (p.visitDate) <= TRUNC (SYSDATE + CAST(:endDay AS double) + 0))")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-20
      • 2013-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-22
      • 1970-01-01
      • 2016-08-03
      相关资源
      最近更新 更多