728x90
반응형
DB에서 HashMap 형태로 데이터를 받아서 데이터 형변환을 하다보면
java.lang.ClassCastException: java.math.BigDecimal Exception이 발생하는
경우가 있다.
위와 같은 Exception이 발생하는 이유는 Oracle에서 컬럼이 Number값으로 설정되어 있을
경우에 myBatis를 통해 Resultset을 반환하게 되면 Oracle Number이 Mapping 되는 Java
Type이 BigDecimal 이다.
그래서 아래처럼 막바로 String 으로 Cast 할 경우 Exception 이 발생하게 된다.
위와 같은 경우는 BigDecimal 타입으로 Casting 하거나 String.valueOf 로 String 형으로 변경
해서 사용하면 된다.
String일 경우는 String.valueOf
Integer일 경우는 Integer.valueOf
모두 즐거운 프로그램 되세요^^
728x90
반응형
'JAVA > Debug' 카테고리의 다른 글
The processing instruction target matching "[xX][mM][lL]" (0) | 2014.08.08 |
---|---|
QueryForObject 의 Null 처리 방법 (0) | 2014.08.08 |
java 1.4 + tomcat 5.5 연동 error (0) | 2014.08.08 |
Oracle, toad 관련 오류 메세지 (0) | 2014.08.08 |
java.lang.ClassCastException: java.math.BigDecimal (0) | 2014.08.08 |
[Java]java.lang.NumberFormatException: For input string: "" (0) | 2014.08.08 |
libclntsh.a(shr.o) could not be loaded (0) | 2014.05.20 |
class javax.mail.SendFailedException: 550 5.7.1 Unable to relay for (0) | 2014.02.12 |