반응형

Entity 설계 시 해당 데이터가 생성된 시점, 마지막으로 수정한 시점 등을 속성값으로 사용하고 싶을 때가 있다. 이 때 사용하는 것이 createdAt, LastModifiedAt 속성이다.
1. SpringApplication 설정
@SpringBootApplication
@EnableJpaAuditing // 추가
public class DlinkApplication {
public static void main(String[] args) {
SpringApplication.run(DlinkApplication.class, args);
}
}
보통 Springboot 를 실행시키는 클래스 상단에 많이 사용한다.
JPA Auditing(감시, 감사) 기능을 활성화하기 위한 어노테이션으로 createdDate, lastModifiedDate처럼 DB에 데이터가 저장되거나 수정될 때 언제, 누가 했는지를 자동으로 관리한다.
@createdDate나 @LastModifiedDate를 사용하기 위해선 엔티티 클래스에 @EntityListeners(AuditingEntityListener.class) 를 붙여야 한다. 이는 엔티티를 DB에 적용하기 이전에 콜백을 요청할 수 있는 어노테이션이다.
ex>
@Entity
@Getter @Setter
@NoArgsConstructor(access = AccessLevel.PROTECTED)
@EntityListeners(AuditingEntityListener.class) // 추가
public class RecommendHistory {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(updatable = false, name = "recommend_history_id")
private Long id;
@CreatedDate
@Column(updatable = false)
private LocalDateTime createdAt;
@LastModifiedDate
@Column(updatable = false)
private LocalDateTime updatedAt;
}
반응형
'Back-end > Spring' 카테고리의 다른 글
[Spring] H2 DataBase 사용법 (0) | 2024.06.27 |
---|---|
[Spring] Spring만의 유효성 검사 @Valid, @Validated 정리 (2) | 2024.06.27 |
[Spring] Spring Security + OAuth2 + JWT [카카오 소셜 로그인 구현] (1) | 2024.06.18 |
[Spring] JPA Hibernate의 ddl-auto 속성 분석하기 (0) | 2024.06.16 |
[Spring] WebClient를 사용한 외부 API 통신 (0) | 2024.06.16 |