error.log
javax.persistence.PersistenceException: org.hibernate.PropertyAccessException: Null value was assigned to a property of primitive type setter of com.comas.solme.framework.servicelib.board.Board.orderNo org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java: 1389 ) org.hibernate.ejb.AbstractEntityManagerImpl.find(AbstractEntityManagerImpl.java: 802 ) org.hibernate.ejb.AbstractEntityManagerImpl.find(AbstractEntityManagerImpl.java: 756 ) |
위와 같은 오류는 null 일 수 없는 컬럼을 가진 레코드가 있을 경우 발생한다.
대개, 이미 레코드가 존재하는 상황에서 boolean 등의 속성이 추가로 생성되어(컬럼이 생성되어) 기존 데이터 값을 null 로 초기화 하므로 발생한다.
이럴 경우에는 해당 객체의 속성에 해당하는 컬럼의 값을 적절한 값으로 초기화 하는 작업을 해줘야한다.
위 오류와 같은 경우에는 다음과 같이 해결할 수 있다.
fix.sql
update BOARD set ORDER_NO = 0 where ORDER_NO is null ; |