Auduting 이란 보통 Entity는 데이터의 수정시간과 생성시간을 포함한다.
추후에 도움이 되기 때문에 특별한 경우가 아니라면 항상 들어가게 된다.
하지만 이런 코드를 모든 곳에 구현해야한다면 매우 많은 중복이 발생하게 될것이고 결국 코드는 지저분해진다.
이런 문제를 해결하려고 나온것이 JPA Auditing 이다.
LocalDate 사용
java8 부터 기존 Java 의 기본 날짜 타입인 Date의 문제점을 고친 타입이 나왔는데 그것이
LocalDate와 LocalDateTime 이다.
더보기
java date의 문제점
1. 불변 객체가 아님.
2.Calendar는 월(month)값 설계가 잘못됨
참조
관련 어노테이션
- @MappedSuperclass
- JPA Entity 클래스들이 BaseTimeEntity을 상속할 경우 필드들(createdDate, modifiedDate)도 컬럼으로 인식하도록 한다.
- @EntityListeners(AuditingEntityListener.class)
- BaseTimeEntity 클래스에 Auditing 기능을 포함시킨다.
- @CreatedDate
- Entity가 생성되어 저장될 때 시간이 자동 저장된다.
- @LastModifiedDate
- 조회한 Entity의 값을 변경할 때 시간이 자동 저장된다.
https://it-mesung.tistory.com/195
[SpringBoot 실습] JPA Auditing으로 생성시간/수정시간 자동화하기
JPA Auditing으로 생성시간/수정시간 자동화하기 보통 Entity는 해당 데이터의 생성시간과 수정시간을 포함하고 있다. 이런 정보는 추후 유지보수에 있어 굉장히 중요한 정보이기 때문이다. 이렇다
it-mesung.tistory.com
'Spring > JPA' 카테고리의 다른 글
Fetch Join 별칭에 관하여 (0) | 2023.08.11 |
---|---|
[JPA] @MappedSuperclass (0) | 2022.03.25 |
[JPA] 기본 Annotation (0) | 2022.03.24 |