WEB/Spring

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

교육과정 동안 언제 만들어졌는지, 언제 수정되었는지에 따른 유지보수 중요성을 배우진 못했다.

이제 모델링할 때 고려해서 짜야겠군...

 

같은 내용인데 매번 DB에 insert/update을 하기에는 코드가 여기저기 들어가게 되니까 

생성될 때 같이 생성되면 편리하다!

 

domain 폴더에 BaseTimeEntity클래스를 만들어주고

모든 Entity의 상위 클래스가 되게 하면 된다.

 

1. @MappedSpuerclass 를 이용하면 JPA Entity클래스들이 BaseTimeEntity를 상속할 경우 필드들도 컬럼으로 인식하도록 한다.

 

2. @EntityListeners(AuditingEntityListener.class)로 해당 클래스에 Auditing기능을 포함한다.

 

3.

@CreatedDate 

private LocalDateTime createDate;

 

@LastModifiedDate

private LocalDateTime modifiedDate;

 

필드 위에 붙여주면 Entity가 생성되어 시간이 자동 저장된다

맙소사 ㅎㅎ...

Mybatis를 사용했을 때는 컬럼에 날짜 타입으로 현재 날짜를 가지고 오거나,

직접 dto에 넣어줬는데 @만 붙이면 된다니

 

4. Application 클래스에 활성화 어노테이션을 추가한다

@EnableJpaAuditing