[SpringBoot] JPA, NotNull 처리하기 - Default 적용 방법

반응형

 

 

JPA, Not Null 처리하는 방법 - Default 적용

 

 

  JPA ColumnDefault

 DB에서 NotNull의 처리는 까다롭다.

해당 칼럼 값 속성이 NotNull일 경우, Null이 값일 때, Insert가 되지 않기 때문이다.

 

그렇기에 중요한 값일수록 null은 매우 치명적이고, JPA가 Table을 관리하는 만큼 JPA에서 Not Null 설정 시 어떻게 할 수 있는지를 알아봐야 했다.

 

그러나 이는 약간 일반적인 상식과 거리가 멀었다.

 

 

@ColumnDefault는 해당 필드가 null일 경우, 적용될 Default 값을 설정한다.

@ColumnDefault는 해당 필드가 설정될 경우, Class 위에 @DynamicInsert를 적용해야 한다.

Insert할 때 null이 발견될 경우 Deafult가 적용된다.

 

 

※ 사용하기에 따라서...

@DynamicInsert

@DynamicUpdate

 

두 가지 종류가 있다.

 

 

 

  결과

1. @DynamicInsert X , @ColumnDefault O

2. @DynamicInsert O, @ColumnDefault X

3. @DynamicInsert O, @ColumnDefault O

Default로 설정된 MollangPiu가 제대로 등록된 것을 확인할 수 있었다.

 

 

 

※ 여기서 중요.

ColumnDefault 처리가 될 경우, NotNull 옵션을 줄 수가 없었다. @Column(nullable=false)과 중복 적용이 되지 않는다.

 

 

JPA 시간 Default 설정하기

2022.12.04 - [Web/SpringBoot] - [SpringBoot] JPA, 시간 적용하기

 

 

 JPA기본 설정

2022.12.04 - [Web/SpringBoot] - [SpringBoot] JPA 연결확인하기

 

반응형

댓글

Designed by JB FACTORY