반응형

오라클 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"));​



작게나마 도움 되시길~ ^^

 

 

반응형

+ Recent posts