DB를 사용하다 보면, 테이블 마다 공통적으로 들어가는 컬럼들이 있다.
그 중 하나로 등록일과 수정일(최종수정일)이 있다. 이는 운영상에 데이터를 추적함에 있어 있으면 좋으므로, 모든 테이블에 들어가 있는 편이다.
아래와 같은 컬럼명을 가진다.
createdAt
, data_reg_dttm
...updatedAt
, data_upd_dttm
...JPA의 Entity는 DB의 테이블 하나의 정보를 클래스에 담고 있다. 그래서 등록일과 수정일이 필드로 필수로 들어간다. 그렇기에 Spring JPA
에서는 해당 설정을 편하게 할 수 있는 기능을 제공한다.
@CreatedDate
@LastModifiedDate
그리고 위 어노테이션이 동작할 수 있도록,EnableJpaAuditing
어노테이션을 가진 클래스를 빈으로 등록해 주어야한다.
@Configuration
@EnableJpaAuditing
public class JpaAuditingConfiguration {
}
그리고 Entity Class에 아래 어노테이션을 추가해주면된다.
@EntityListeners(AuditingEntityListener.class)
@Getter
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Entity
@EntityListeners(AuditingEntityListener.class)
public class AccountUser {
@Id
@GeneratedValue
private Long id;
private String name;
@CreatedDate
private LocalDateTime createdAt;
@LastModifiedDate
private LocalDateTime updatedAt;
}