Springs Rowmapper投掷类型不匹配问题。

时间:2015-07-03 07:20:23

标签: java spring frameworks

我有一个包含变量的域对象,作为来自netezza的值列表和另外4个变量,这些变量是普通变量,它们将使用行映射器从oracle db获取赋值。

下面的语句抛出错误说:类型不匹配:无法从List转换为CharacteristicsValue。是因为域对象包含列表作为内部变量。

  

CharacteristicsValue charValue = jdbcOMTemplate.query(builtQuery,new   DimCharRowMapper());

我可以将变量作为List来解决问题,但想知道是否有更好的方法。

1 个答案:

答案 0 :(得分:2)

query()方法返回List个值。

queryForObject()方法返回单个Object

如果您搜索单个对象,请将query替换为queryForObject

如果您需要列表,请将变量charValue的类型更改为List<CharacteristicsValue>

注意: queryForObject()如果查询结果不是一条记录,则抛出IncorrectResultSizeDataAccessExceptionquery()也可以很好地检索零个,一个或多个记录。