728x90
요번 포스팅에서는 게시물을 작성한 날짜를 추가해 보겠습니다.
jpa에 아주 좋은 기능이 있어서 그것을 이용해볼 것입니다!!
그 기술은 바로 JPA Auditing 입니다.
데이터베이스에 저장할때와 수정할때 시간을 자유롭게 사용할 수 있습니다.
우선 Timestamped라는 클래스를 만들고 Board클래스에 상속하도록 합니다.
Timestamped 코드
package hello.myproject.domain;
import lombok.Getter;
import org.springframework.data.annotation.CreatedDate;
import org.springframework.data.annotation.LastModifiedDate;
import org.springframework.data.jpa.domain.support.AuditingEntityListener;
import javax.persistence.EntityListeners;
import javax.persistence.MappedSuperclass;
import java.time.LocalDate;
@MappedSuperclass
@Getter
@EntityListeners(AuditingEntityListener.class)
public class Timestamped {
@CreatedDate
private LocalDate createAt;
@LastModifiedDate
private LocalDate modifiedAt;
}
- @MappedSuperclass : 이 애노테이션이 있어야 데이터베이스에 자동으로 생성이 됩니다.
- @EntitiyListeners(AuditingEntityListene.class) : 생성, 변경 시간을 자동으로 업데이트 해줍니다.
- LocalDate 를 이용하므로써 yyyy-mm-dd의 양식으로 시간을 업데이트합니다.
그리고 중요한 부분이 하나 더 있습니다!! 저도 처음에 위의 과정만 실시하고 안되어서 당황했었습니다!!
바로
MyprojectApplication클래스에 @EnableJpaAuditing을 추가해줘야 합니다.
이 애노테이션이 jpaAuditing를 활성화 해주는 기능을 합니다.
package hello.myproject;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.data.jpa.repository.config.EnableJpaAuditing;
@EnableJpaAuditing
@SpringBootApplication
public class MyprojectApplication {
public static void main(String[] args) {
SpringApplication.run(MyprojectApplication.class, args);
}
}
이제 실행을 해서 데이터베이스에 어떻게 저장되는지와 실제 뷰를 통해 어떻게 보여지는지 확인해보겠습니다.
데이터베이스입니다.
url를 통해 들어간 뷰의 모습입니다.
이상으로 JPA auditing를 이용한 데이터를 저장할 때 시간을 나타내는 방법에 대한 포스팅이었습니다!!~!
728x90
'스프링' 카테고리의 다른 글
순수 자바를 이용한 스프링 의존관계의 원리(IoC,DI) (1) | 2021.08.07 |
---|---|
스프링으로 게시판 만들기 6 - 데이터 수정 (0) | 2021.08.05 |
스프링으로 게시판 만들기 3 - controller만들기 (0) | 2021.08.02 |
스프링으로 게시판 만들기 2 - 게시판 테이블 만들기!! (0) | 2021.08.02 |
스프링으로 게시판 만들기 1 - 프로젝트 생성 및 h2데이터베이스 연동 (0) | 2021.08.02 |
댓글