ibatis remapResults
ibatis 로 작업을 하다보면 동적 쿼리를 만들어야 할때가 있다
동적으로 조인 테이블을 만들거나,
동적으로 조회하는 필드명을 추가, 변경할때,
아래와 같이 태그들을 이용해서 구현할때가 있다
이땐 필히,
remapResults = "True" 를 기술해줘야 한다
안그러면 부적절한 열명입니다 오류가 발생할것입니다.
ibatis 기술 문서를 참고하자면,
remapResults 속성은 <statement>, <select>, 그리고 <procedure> 에서 사용가능하다. 이것은 선택적인 속성이고 디폴트는 false이다. remapResults속성은 쿼리가 반환 칼럼의 다양한 세트를 가질때 true셋팅되어야만 한다. 다음 쿼리를 보자. SELECT $fieldList$ FROM table 이전 예제에서 칼럼의 목록은 테이블이 언제나 같더라도 동적이다. SELECT * FROM $sometable$ 이전 예제에서 테이블은 다를수 있다. Select절의 * 사용때문에, 결과적인 칼럼이름은 다를수 있다. 동적 요소는 하나의 쿼리 수행에서 다음 수행까지 변경하기 위한 목록을 야기할수있다. resultset메타데이타를 알고/판단하기 위한 오버헤드가 명백하지 않기 때문에, iBATIS는 마지막 쿼리 수행에 반환된 것만을 기억할것이다. 이것은 위 예제와 비슷한 상황에서 문제를 발생시킨다. 만약 반환 칼럼이 변경된다면, remapResults를 true로 셋팅하라. 그렇지 않다면 메타데이타 검색의 오버헤드를 제거하기 위해 remapResults를 false로 셋팅하라. |
ibatis 한글 기술문서 : iBATIS_SqlMaps_2_ko.pdf