[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