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 연결확인하기
'Web > SpringBoot' 카테고리의 다른 글
[SpringBoot] Could not resolve all files for configuration compileClasspath (0) | 2023.01.27 |
---|---|
[SpringBoot] JPA, 시간 적용하기 (0) | 2022.12.04 |
[SpringBoot] JSP 자동 업데이트 (0) | 2022.09.26 |
[SpringBoot] JSP 연결하기 (0) | 2022.09.25 |
[SpringBoot] Logback 설정하기 (0) | 2022.06.27 |