我正在尝试将嵌套查询与 JdbcTemplate 一起使用,但发现了问题,在我看来,它不支持嵌套查询。对吗?或者我需要改变什么?
所以,我调用
getJdbcTemplate().query(request, new Object[]{name}...)
// request is query which you can see in error message
在 oracle 中给出结果但失败了
org.springframework.jdbc.InvalidResultSetAccessException: PreparedStatementCallback; SQL [select sq.name as name from (select t1.name as name from table1 t1 left outer join table2 t2 on t2.id = t1.fk_id where t1.name is not null)无效的 ResultSet 访问像上('?')];嵌套异常是 java.sql.SQLException: Invalid column index
已编辑
request 是一个简单的 String 对象,它实际上是您在异常消息中看到的 sql。eturn 对象在这种情况下没有任何问题,因为我将其留空(用于测试我们的姿势)
但只是为了让您确定它是:
List<MyObject> list = getJdbcTemplate().query(request, new Object[]{"Somename"}, new RowMapper() {
public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
return new MyObject();
}
});