문제 상황
Product 테이블의 category_pk는 not null 제약조건이 걸려있는 컬럼이였습니다.
Product entity에 @ColumnDefault 어노테이션을 사용하여 default 값을 설정하였지만 계속해서 위와 같은 에러가 발생하였습니다.
문제 해결
@ColumnDefault를 삭제하고 @DynamicInsert를 추가하였습니다.
ColumnDefault의 역할을 잘못 이해하였는데, ColumnDefault는 DDL 시에 테이블 스키마 설정을 해주는 역할입니다.
따라서, insert시에 특정값을 기본으로 넣어주는 기능은 없습니다!
@DynamicInsert 는 insert를 할때 null인 필드를 제외시켜주는 역할을 하기 때문에 Product에 default로 잡혀있는 값으로 insert가 되는것을 확인 할 수 있습니다.
'Web' 카테고리의 다른 글
Servlet이란? JSP란? - JSP/Servlet 처리 과정 (0) | 2021.04.04 |
---|---|
자바스크립트 - XML Parsing (공공데이터 파싱 예제) (0) | 2021.03.10 |