****문제 : iBATIS 에서 count() 을 통해서 int 형을 받아오려 함.
### SQL Map 파일은 다음과 같다.
<resultMap id="result" class="java.util.HashMap">
<result property="key" column="KEYS"/>
<result property="value" column="VALUES"/>
</resultMap>
....
select count(VALUE) as VALUES
...
### 이를 받아와서 처리한 DAO 단
List list = getSqlMapClientTemplate().queryForList("Statement.statement01", map);
Iterator iter = rList.iterator();
while(iter.hasNext()){
HashMap map = (HashMap)iter.next();
int value = ((Integer)map.get("value")).intValue(); <----- (X)
}
**** 해결
From
int value = ((Integer)map.get("value")).intValue(); <----- XXXXXXXXXXXXX
To
int value = ((BigDecimal)map.get("value")).intValue();
문제는 iBATIS+Oracle 에서 BigDecimal로 리턴하여서,
CAST Exception이 일어났었다.
Exception이 일어나면, getClass로 확인해보자.