[Spring JPA] Entity의 등록일, 수정일 컬럼

꾸준히·2023년 4월 23일
0
post-thumbnail

등록일, 수정일 컬럼

DB를 사용하다 보면, 테이블 마다 공통적으로 들어가는 컬럼들이 있다.
그 중 하나로 등록일과 수정일(최종수정일)이 있다. 이는 운영상에 데이터를 추적함에 있어 있으면 좋으므로, 모든 테이블에 들어가 있는 편이다.

아래와 같은 컬럼명을 가진다.

  • 등록일 : createdAt, data_reg_dttm...
  • 수정일 : updatedAt, data_upd_dttm...

JPA에서 자동으로 세팅하기

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;
}

0개의 댓글