Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java iBatis |动态Sql |重新假定-随机错误_Java_Sql_Ibatis - Fatal编程技术网

Java iBatis |动态Sql |重新假定-随机错误

Java iBatis |动态Sql |重新假定-随机错误,java,sql,ibatis,Java,Sql,Ibatis,我们有一个动态sql,其中select子句和表名是变量。 下面是两个查询,整数5是两个版本之间的差异。 注意:我们从一开始就指定remapurelts=true SELECT Int1, Int2, Int3, Int4, Date1 FROM Table1 WHERE ... SELECT Int1, Int2, Int3, Int4, Int5, Date1 FROM Table2 WHERE ... 代码95%的时间按预期执行,有时抛出不可再现的异常 异常1:net.sf.cgli

我们有一个动态sql,其中select子句和表名是变量。 下面是两个查询,整数5是两个版本之间的差异。 注意:我们从一开始就指定remapurelts=true

SELECT Int1, Int2, Int3, Int4, Date1
FROM   Table1
WHERE ...

SELECT Int1, Int2, Int3, Int4, Int5, Date1
FROM Table2
WHERE ...
代码95%的时间按预期执行,有时抛出不可再现的异常

异常1:net.sf.cglib.beans.BulkBean异常:java.util.Date不能转换为java.lang.Integer

异常2:net.sf.cglib.beans.BulkBean异常:java.lang.Integer不能强制转换为java.util.Date

请注意,参数映射是一个类,结果也是一个类

从日志中可以清楚地看出,ibatis没有正确处理select查询中的字段,并且在date是第4个元素而select子句中甚至没有第5个整数的情况下,它试图将date映射到integer。可能正在缓存结果模式。但这不是应该解决的吗?而且它几乎总是有效的,会导致随机的异常,因此很难专注于这个问题

我们已经考虑了其他方法来摆脱动态sql,但希望在转移到其他方法之前找出问题所在

知道问题/解决方案是什么吗?我们应该在resultMap中使用remapResults而不是resultClass吗?

似乎与bug有关。