H2在Oracle本机查询中准备了语​​句异常

时间:2019-01-23 12:06:11

标签: oracle hibernate junit h2

应用程序是带有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。

任何提示表示赞赏。

0 个答案:

没有答案