[Spring] Mybatis collections 파라미터 여러개 사용 시 주의점
개요
collections 사용 시 parameter를 여러 개 사용하는데 오류가 났다. mapper xml 같은 경우 요류를 정확히 알려주지 않기 때문에 확실한 개념으로 정확히 구현하는 것이 중요하다. 이 글을 통해 오류 해결 방법을 알아보자.
원인
<collection property="subMenu"
column="{idx=IDX, adminUserIdx=ADMIN_USER_IDX}"
javaType="java.util.ArrayList"
select="selectSubMenu"
ofType="경로.Menu"/>
이처럼 column을 통하여 parameter를 여러 개 주었는데
<select id="selectSubMenu" parameterType="java.lang.Integer" resultMap="BaseResultMap">
서브 쿼리 함수에서 int로 받은 것이 원인이었다. 바보 같았다.
반응형
해결
collections 사용 시 parameter를 여러 개 사용할 때
서브 쿼리의 parameterType을 map으로 지정해야 한다.
<select id="selectSubMenu" parameterType="java.util.Map" resultMap="BaseResultMap">
파라미터가 여러 개 이므로 타입을 map으로 바꿔주니 해결됐다.
'Spring' 카테고리의 다른 글
[Spring] GET과 POST의 차이점 (0) | 2021.08.19 |
---|---|
[Spring] 유저별로 메뉴 다르게 보이기 (0) | 2021.06.29 |
[Spring] MyBatis resultMap collection 사용법 (0) | 2021.06.18 |
[Spring] Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception 오류 (0) | 2021.04.14 |
[Tomcat에러] Result Maps collection already contains value for ... (0) | 2021.03.23 |
댓글