JdbcTemplate でネストされたクエリを使用しようとしていますが、問題が見つかりました。ネストされたクエリをサポートしていないようです..私は正しいですか? または何を変更する必要がありますか?
だから、私は呼び出す
getJdbcTemplate().query(request, new Object[]{name}...)
// request is query which you can see in error message
オラクルで結果が得られますが、失敗します
org.springframework.jdbc.InvalidResultSetAccessException: PreparedStatementCallback; SQL の無効な ResultSet アクセス[select sq.name from name (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 ) sq where upper(name)アッパー('?')]のように。ネストされた例外は java.sql.SQLException: Invalid column index です
編集済み
request は単純な String オブジェクトであり、実際には例外メッセージに表示される sql です。私はそれを空のままにしたので、この状況ではリターンオブジェクトは問題になりません(私たちのポーズをテストするため)
ただし、ここにあることを確認してください。
List<MyObject> list = getJdbcTemplate().query(request, new Object[]{"Somename"}, new RowMapper() {
public Object mapRow(ResultSet rs, int rowNum) throws SQLException {
return new MyObject();
}
});