Spring

JPA Auditing으로 생성시간, 수정시간 자동화하기

monkeyDugi 2022. 4. 19. 12:18
반응형

BaseTimeEntity.java

@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
public class BaseTimeEntity {
    @CreatedDate
    private LocalDateTime createDate;
    @LastModifiedDate
    private LocalDateTime modifiedDate;

    public LocalDateTime getCreateDate() {
        return createDate;
    }

    public LocalDateTime getModifiedDate() {
        return modifiedDate;
    }
}
  • @MappedSuperclass

→ JPA Entity 클래스들이 BaseTimeEntity를 상속할 경우 필드들(createDate, modifiedDate)도
컬럼으로 인식하도록 한다.

  • @EntityListeners(AuditingEntityListener.class)

→ BaseTimeEntity 클래스에 Auditing 기능을 포함시킨다.

Member.java

@Entity
public class Member extends BaseTimeEntity {
    ...
}

Application.java

@EnableJpaAuditing
@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
  • @EnableJpaAuditing

→ JpaAuditing 활성화

반응형