반응형
안녕하세요 .오늘도 어김없이 에러가 발생하였습니다.
아래를 확인해보시죠~
에러발생
Can not set int field com.bsite.vo.MemberVO.me_orgz_orderby to null value
번역을 해보니
int 필드 com.bsite.vo.MemberVO.me_orgz_orderby를 null 값으로 설정할 수 없습니다.
null값이 설정되는 것 같습니다..
그래서 데이터베이스에 default값을 'null'에서 숫자 '0'으로 변경해주었지만 똑같은 에러가 발생하더군요..
결국은 MemberVO의 me_orgz_orderby란 컬럼에 null값이 들어갈 수 있도록 해줘야할 것 같습니다.
에러 현상
int형 변수는 기본형(Primitive type) 변수입니다.
그러기 때문에 실제 값을 저장 장소를 가지만 Integer형 변수는 객체형 변수로서 참조형(Reference Type)입니다,
즉, 실제 값이 아닌 객체의 주소를 저장하고 있죠 그렇기에 Null을 가질 수 있는 것입니다.
int
자료형이며,
산술 연산이 가능합니다.
null 로 초기화 불가능하지만 0으로 초기화할 수 있습니다.
Integer
클래스이며,
Unboxing 을 하지 않으면 산술 연산이 불가능하지만, null값은 처리할 수 있습니다.
null값 처리가 용이해서 SQL 과 연동할 경우 처리가 용하지만, 직접적인 산술연산은 불가능합니다.
해결방법
VO에서 데이터타입을 Int에서 Integer로 변경하면 됩니다!
반응형
댓글