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 |