재활용

java.lang.ClassCastException

청소부 2019. 3. 6. 14:09


1. java.math.BigDecimal cannot be cast to java.lang.String

1) 발생 원인: NUMBER 타입의 데이터를 String으로 형변환할 때 발생하는 오류

2) 문제 해결: String.valueOf(Object) 메서드를 이용하여 해결


sendData.clear();
sendData.put("cmpnCd"    , param.get(i).get("cmpnCd"));
sendData.put("projCd"    , param.get(i).get("projCd"));
sendData.put("slipNo"    , param.get(i).get("slipNo"));
sendData.put("slipLineNo"String.valueOf(param.get(i).get("slipLineNo")));
sendData.put("sendDvsnCd", param.get(i).get("sendDvsnCd"));
sendData.put("emlSedr"   , param.get(i).get("emlSedr"));
sendData.put("emlSendDt" , param.get(i).get("emlSendDt"));
sendData.put("emlRvcr"   , param.get(i).get("emlRvcr"));
sendData.put("regDtm"    , param.get(i).get("regDtm"));
sendData.put("rgsrId"    , param.get(i).get("rgsrId"));
sendData.put("mdfDtm"    , param.get(i).get("mdfDtm"));
sendData.put("mdfrId"    , param.get(i).get("mdfrId"));
 
this.mapper.insert("FATM10140M_upsertDoc", sendData);
cs


2. java.sql.Timestamp cannot be cast to java.lang.String

1) 발생 원인: DATE 타입의 데이터를 String으로 형변환할 때 발생하는 오류

2) 문제 해결: try ~ catch 문을 이용하여 에러를 뱉어냄 (미봉책)


3. 전반적인 수습책

- SQL문을 작성할 때 애초에 TO_CHAR문을 이용해서 String으로 세팅을 해준다