강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

sonbbang님의 프로필 이미지
sonbbang

작성한 질문수

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

주문 조회 V3.1: 엔티티를 DTO로 변환 - 페이징과 한계 돌파

@DynamicInsert와 @DynamicUpdate

작성

·

796

0

1. JPA에서 Entity 컬럼에 null이 아닌 DDL에서 정의한 디폴트값을 넣고 싶습니다.

 Entity 컬럼에 디폴트 값을 설정하는 방법이 있을 것이고요.

또는 @DynamicInsert 설정해 두면 insert 시에 DDL에서 정의한 디폴트 값도 잘 들어갈 것이라고 생각했습니다.

 @DynamicInsert 는 모든 entity 들에 설정할 경우 무슨 문제점이 있을까요?

2. v1 API 에서 v2로 가면서 업데이트 필드가 추가되었습니다.

이때 v1과 v2의 입력 폼이 같다고 가정할때 v1으로는 추가된 필드가 null로 들어오게 됩니다. 이 경우 v2으로는 정상 업데이트가 되는데 v1으로는 기존 필드가 null로 업데이트 되는 문제 발생합니다.

이에 대한 해결책으로 입력 폼에 추가된 업데이트된 필드에 Default 값을 할당하는 방법이 있을꺼 같은데요. 

 위 방법 말고 @DynamicUpdate  로도 입력값이 null인 경우 해당 필드를 업데이트 하지 않도록 해결이 가능할 것 같습니다.

 @DynamicUpdate  사용시 주의해야 할 점이 있을까요?

답변 1

0

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. sonbbang님

@DynamicInsert, @DynamicUpdate를 사용한다고 해서 특별한 문제가 발생하지는 않습니다.

감사합니다.

sonbbang님의 프로필 이미지
sonbbang

작성한 질문수

질문하기