Audit
엔티티와 관련된 이벤트를 추적하고 기록
- Audit (감사) : '감독하고 검사함'
- Entity 버전 관리와 관련된 이벤트를 추적하고 기록하는 것
- 이벤트 : Entity의 Create, Update, Delete와 같은 작업
Audit 구현하기
- Spring Data JPA는 @EntityListeners 어노테이션을 사용해 자체 JPA 엔티티 리스너 클래스인 AuditingEntityListener를 제공
- @EnableJpaAuditing과 @EntityListeners(AuditingEntityListener.class) 설정
≫ 이벤트 리스너가 Content에 대한 정보를 Auditing할 수 있게 됨
- SpringBootApplication(PostApplication.java 파일)에 @EnableJpaAuditing 추가
- Entity에 @EntityListeners(AuditingEntityListener.class) 추가
Base Entity를 이용한 JPA Auditing
- 모든 Entity에 Auditing 설정을 작성하면 중복 코드 발생, 관리가 어려움
- Auditing 관련 Entity를 생성하고 다른 Entity에서는 이를 상속받게 함
- Auditing을 위해 BaseEntity를 상속한 엔티티
- createdDate / modifiedDate 필드 포함
Auditing 종류
어노테이션 명 | 설명 |
@CreatedBy | 엔티티를 생성하는 사용자 정보 |
@CreatedDate | 엔티티가 생성된 시간 (타임스탬프) |
@LastModifiedBy | 엔티티를 수정한 사용자 정보 |
@LastModifiedDate | 엔티티가 수정된 시간 (타임스탬프) |
'spring' 카테고리의 다른 글
다대일 단/양방향 매핑 (0) | 2024.09.15 |
---|---|
연관관계 매핑 종류 / 방향 (0) | 2024.09.15 |
Lombok (0) | 2024.09.13 |
@Query 어노테이션 (0) | 2024.09.13 |
페이징 / 정렬 처리 (0) | 2024.09.13 |