本文介绍了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问题-强制接受双精度数据类型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!