应用程序是带有Hibernate的SpringBoot,测试数据库是H2,prod db是Oracle,问题是我的测试只能部分覆盖Oracle查询,到目前为止,最有问题的是语法如下的查询:>
CREATED_DATE > (sysdate - :duration)
在Hibernate中进行参数替换时,出现异常:
org.h2.jdbc.JdbcSQLException: Unknown data type: "?"; SQL statement:
select ... from ... where ( table1.CREATED_DATE > (sysdate - ?) ...
值得一提的是我在那儿经过Double:
setParameter("duration", 28.0/24.0)
我正在调试H2代码(org.h2.expression.Comparison
),并且引发的异常来自准备好的语句:
(CREATED_DATE > (CURRENT_TIMESTAMP() - ?1))
的右侧是Unknown Type,无论参数是Double,int还是setParameter显式具有第三个参数DoubleType.INSTANCE。
任何提示表示赞赏。