유지보수에 있어 Entity에는 해당 데이터의 생성시간과 수정시간은 굉장히 중요한 정보입니다. 그렇다 보니 매번 DB에 삽입/갱신 전 날짜 데이터를 등록/수정하는 코드가 들어가게 됩니다.
단순반복적인 코드를 깔끔하게 처리하기 위해 JPA Auditing을 사용합니다.
LocalDate 사용
JAVA 8부터 LocalDate와 LocalDateTime이 등장했습니다. 그렇다면 이전에 존재한 Date, Calendar 클래스의 문제점은 무엇일까요?
Data와 Calendar 문제점
- 불변 객체가 아닙니다. 고로 멀티스레드 환경에서 언제든 문제가 발생할 수 있습니다.
- Calendar의 월(Month) 값 설계는 잘못되었습니다. Calendar.OCTOBER의 값은 9입니다. 우리가 실생활에서 인지하는 값과 차이가 존재합니다.
- 참고: https://d2.naver.com/helloworld/645609
반복되는 코드를 위와 같이 클래스를 생성해 생산성을 높일 수 있습니다. 작성한 위 추상 클래스를 Posts 클래스가 상속받도록 변경합니다.
그리고 JPA Auditing 어노테이션들을 모두 활성화할 수 있도록 main method가 있는 클래스에 활성화 어노테이션 [@EnableJpaAuditing]을 추가합니다.
'Development > Spring Framework' 카테고리의 다른 글
[Thymeleaf] 스프링 프레임워크의 View Thymeleaf (0) | 2021.05.07 |
---|---|
더티 체킹(Dirty Checking)이란 (0) | 2021.05.07 |
H2 Database 접근 (0) | 2021.05.07 |
[에러 기록] Request method 'XXX' not supported (0) | 2021.05.07 |
[Spring Boot] API 생성하기 (0) | 2021.05.06 |