본문 바로가기
Error

[Error] Can not set int field '컬럼' to null value

by GoodDayDeveloper 2022. 3. 28.
반응형

 

안녕하세요 .오늘도 어김없이 에러가 발생하였습니다.

아래를 확인해보시죠~ 

 

 

 

 

에러발생

 

 

 

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로 변경하면 됩니다!

 

 

 

반응형

댓글