728x90
반응형
<select id="***" parameterClass="String" resultClass="hashMap" >
SELECT *
FROM
$TABLE$
</select>
이런식으로 동적으로 테이블에서 컬럼을 가져오는 쿼리를 쓰는데... 첫번째 실행은 무리없이 돌아가나
두번째 부터는 계속해서
java.sql.SQLException: 부적합한 열 이름
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
at oracle.jdbc.driver.OracleStatement.getColumnIndex(OracleStatement.java:3319)
요놈의 에러가..
구글링 해보니 역시 같은 상황을 겪고 있는 분들이 더러 있는듯.
ibatis에서는 쿼리문 id마다 캐쉬를 저장하고 있기 때문에
캐쉬값에 따라 result값을 맵핑한다고...
문제 해결을 위해서는 remapResults="true" 속성을 추가해주면, 기존 캐쉬를 무시하고
현재 쿼리를 기본으로 맵핑한단다.. (default는 false)그래서 결론은 이런식으로..
<select id="***" parameterClass="String" resultClass="hashMap" remapResults="true" >
SELECT *
FROM
$TABLE$
</select>
728x90
반응형
'SQL > IBATIS' 카테고리의 다른 글
ibatis 태그. 자주 쓰는 것들 (0) | 2016.04.05 |
---|---|
iBatis IN명령 (0) | 2015.12.29 |
ORA-01013: 사용자가 현재 작업의 취소를 요청했습니다. (0) | 2015.11.27 |
ibatis parameterMap 인라인 파라미터 매핑과 외부 파라미터 맵의 장.단점 및 예제 (0) | 2015.11.03 |
java-ibatis-mssql, 소수점 문제 (0) | 2014.10.23 |
ibatis selectkey 활용 (0) | 2014.10.17 |
ibatis - 동적으로 테이블 가져올 때 부적합한 열이름 에러 (0) | 2014.09.11 |
ibatis에서 queryForList와 queryForMap의 차이 (0) | 2014.08.21 |