Springs Rowmapper 抛出类型不匹配问题。

Springs Rowmapper throwing type mismatch issue.

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

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

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

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

query() 方法 returns 一个 List 值。

queryForObject()方法returns单个Object.

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

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

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