728x90
회원가입 API를 만들던 중, Member 테이블의 state 필드에 디폴트 값이 N으로 설정되어 있음에도
state 값을 넣어주지 않자 오류가 발생하는 문제가 생겼다.
전에 mybatis를 사용할 때는 디폴트 값을 설정해놓으면 값을 넣지 않아도 자동으로 디폴트 값이 들어갔었는데 JPA를 사용하면서 갑자기 이런 문제가 발생하는게 당황스러웠는데, 찾아보니 Entity에 어노테이션 하나만 추가하면 해결되는 문제였다.
DynamicInsert
DynamicInsert 어노테이션을 사용하면, Insert 쿼리를 수행할 때 값이 null인 필드를 제외하고 Insert를 수행한다.
DynamicInsert 어노테이션을 넣은 다음에는 정상적으로 잘 작동했다.
이것과 비슷한 어노테이션으로 DynamicUpdate가 있는데, Update 쿼리에서 null인 필드를 제외하는 어노테이션이다.
728x90
'JAVA > Spring' 카테고리의 다른 글
[Spring] JPA를 사용한 카테고리 (하위메뉴) 구현 (2) | 2022.04.10 |
---|---|
[Spring Boot] 스프링 부트 외부 접속 안되는 문제 (0) | 2022.04.07 |
[Spring] IoC와 DI의 이해 (0) | 2022.04.01 |
Spring Json List에 값이 안들어가는 오류 해결 방법 (0) | 2022.02.23 |
Spring Json 응답 시 null 값인 필드 제외하기 (0) | 2022.02.23 |