DbUnit-query返回BigInteger类型的数据

时间:2012-02-13 04:56:50

标签: dbunit

我是DbUnit的新手,在运行集成测试时面临以下问题。

我在内存中使用h2数据库,并根据我的要求创建了表。

在运行一个返回客户ID数量的特定查询时,我得到一个类强制转换异常因为运行DbUnit返回的结果集(对于这个“count”)是BigInteger类型而我的数据bean属性以及测试表列类型为“int”。

请告诉我为什么我会在结果中获得此BigInteger类型?

提前致谢。

1 个答案:

答案 0 :(得分:1)

返回的列是表达式,即count(x),而不是列本身(x)。有时,列上的函数结果可能导致类型提升。来自“积分类型”下的http://hsqldb.org/doc/2.0/guide/guide.html

  

表达式中的中间积分值的大小没有内置限制。因此,您应检查ResultSet列的类型,并选择适当的getXXXX()方法来检索它。或者,您可以使用getObject()方法,然后将结果转换为java.lang.Number,并对结果使用intValue()或longValue()方法。