本文介绍了JPA和Sysdate问题-强制接受双精度数据类型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用的是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运行,但失败

推荐答案

您可以使用下面的代码,这对我来说很好,而且整数被强制转换为双精度

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

这篇关于JPA和Sysdate问题-强制接受双精度数据类型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-28 05:55