반응형
오라클 NUMBER 형 컬럼의 데이터를 HashMap 타입으로 받아
java에서 사용하려고 하니
java.math.BigDecimal cannot be cast to java.lang.String 오류가 발생하더군요.
사용된 iBatis 문
<select id="SQL-VIEW" parameterClass="java.util.Map" resultClass="java.util.HashMap">
SELECT
ID
,COMMUNITY_ID
,TITLE
,TYPE_CODE
,LIST_ORDER
,PAGE_SIZE
,HYPERLINK_URL
,AUTH_WRITE
,AUTH_READ
,IS_OPEN
,TO_CHAR(REG_DATE, 'YYYY.MM.DD HH24:MI') REG_DATE
,TO_CHAR(UPT_DATE, 'YYYY.MM.DD HH24:MI') UPT_DATE
FROM COMMUNITY_MENUS
WHERE
ID = #menuID#
AND IS_DELETE = 'N'
</select>
오류가 발생한 java 문
String pageSize = (String) mnuMap.get("PAGE_SIZE"));
NUMBER 타입을 곧바로 String으로 캐스트 변환하려고 하니 생기는 문제였습니다.
캐스트 변환을 하지 않고,
String 클래스의 valueOf (Object) 메소드를 이용해 처리하면
문제 해결할 수 있습니다.
수정된 java 문
String pageSize = String.valueOf(mnuMap.get("PAGE_SIZE"));
작게나마 도움 되시길~ ^^
반응형