컴공생의 다이어리
[JPA] Auditing 본문
JPA Auditing
Spring Data Jpa에서는 AuditingListener를 제공해 특정한 이벤트에 대해 자동으로 반응하여 등록일, 수정일, 등록자, 수정자와 같은 데이터를 입력해준다. Entity에 대해서 생성된 시간과 업데이트된 시간을 추적하는 것은 매우 중요하지만 이를 매번 사용자가 데이터를 업데이트할 때마다 시간 값을 변경하는 것은 귀찮고 어쩌면 실수로 인해서 놓칠 수도 있다. JPA의 Auditing 기능을 사용해 이러한 점을 해결해줄 수 있다.
Auditing 활성화
Auditing 기능을 활성화하기 위해서는 Application에 @EnableJpaAuditing 어노테이션을 추가해줘야 한다.
@EnableJpaAuditing // ← 이거
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(DmakerApplication.class, args);
}
}
엔터티에 Auditing 적용
엔터티에 Auditing을 적용하기 위해서는 @EntityListeners(AuditingEntityListener.class)를 추가해준다.
@Getter
@Entity
@EntityListeners(AuditingEntityListener.class) // ← 이거
public class ExampleEntity {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
protected Long id;
@CreatedDate // 생성 시간 자동 저장
private LocalDateTime createdAt;
@LastModifiedDate // 수정 시간 자동 저장
private LocalDateTime updatedAt;
}
- @CreatedDate : 생성 시간
- @CreatedBy : 생성자
- @LastModifiedDate : 수정 시간
- @LastModifiedBy : 수정자
https://webcoding-start.tistory.com/53
https://velog.io/@sa1341/JPA-Auditing
https://blog.naver.com/626ksb/222588424790
728x90
반응형
'Development > Spring & SpringBoot' 카테고리의 다른 글
[스프링, Spring] @RequiredArgsConstructor 어노테이션 (0) | 2022.06.01 |
---|---|
[스프링 부트, Spring Boot] 시작 배너 없애기 (0) | 2022.05.26 |
[스프링 부트, Spring Boot] 서버 포트(port) 변경 (0) | 2022.03.04 |
[스프링 부트, Spring Boot] @Transactional(readOnly = true) 오류 (0) | 2022.02.16 |
[MyBatis] 마이바티스 Like문 사용방법 (0) | 2022.02.09 |
Comments