본문 바로가기

Spring

Auditing기능을 이용한 등록일,수정일,등록자,수정자 관리

728x90

1.등록일,수정일 관리

@EntityListeners(AuditingEntityListener.class)
@MappedSuperclass
public class BaseTimeEntity {
 @CreatedDate
 @Column(updatable = false)
 private LocalDateTime createdDate;
 @LastModifiedDate
 private LocalDateTime lastModifiedDate;
}

2.등록자,수정자 관리

@EntityListeners(AuditingEntityListener.class)
@MappedSuperclass
public class BaseEntity extends BaseTimeEntity {
 @CreatedBy
 @Column(updatable = false)
 private String createdBy;
 @LastModifiedBy
 private String lastModifiedBy;
}

대부분의 엔티티는 등록시간,수정시간이 필요하지만  등록자,수정자는 필요없는 경우가 생기므로 필요에 따라 원하는 타입을 선택해서 상속한다.

3.등록자,수정자를 처리해주는 Bean 등록

@Bean
public AuditorAware<String> auditorProvider() {
 return () -> Optional.of(UUID.randomUUID().toString());
}

필요에 따라 세션 정보나 ,Spring Security의 로그인정보에서 ID를 받아서 등록한다.

728x90

'Spring' 카테고리의 다른 글

Querydsl 프로젝션 결과 반환  (0) 2023.04.26
Querydsl gradle 설정  (0) 2023.04.26
벌크연산시 주의할 점  (0) 2023.04.18
SpringData JPA를 활용한 페이징 및 정렬  (0) 2023.04.18
JPA 컬렉션 조회시 최적화 방법  (0) 2023.04.12