Spring
Auditing기능을 이용한 등록일,수정일,등록자,수정자 관리
yougeun
2023. 4. 18. 20:07
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