서론
JPA를 사용할 때 현재시간 current_timestamp의 값을 넣고 싶을 때가있다. 이번 글에서 다루는 어노테이션만 잘 알아두면 아주 손쉽게 해당 기능을 적용시킬 수 있다.
Hibernate
Hibernate에서 엔터티 객체에 대해 Insert와 Update 쿼리가 발생할 때 자동으로 현재 서버 시간을 기입시켜주는 어노테이션을 제공해준다.
Spring Framework
스프링 프레임워크에서도 하이버네이트와 같은 기능을 제공을 해주는데 이번 포스팅에서는 하이버네이트에서 지원해주는 두 가지 키워드에 대해서만 알아보려한다.
스프링 프레임워크에서 지원해주는 것은 검색어에 CreatedDate를 입력하면 좋은 자료들이 많이 나오니 참고하기 바란다.
@CreationTimestamp
해당 어노테이션은 Insert 쿼리가 발생할 때 현재 시간 값을 적용시켜준다.
사용 방법
@CreationTimestamp
@Column(name = "ins_date")
private LocalDateTime insDate;
위와 같이 어노테이션 하나만 추가해주면 끝이다. 간단하다 참
@UpdateTimestamp
해당 어노테이션은 Update 쿼리가 발생했을 때 현재 시간 값을 적용시켜준다. 이 어노테이션을 사용하면, 마지막 수정시간을 업데이트 시켜주는 부분을 유연성있게 관리해줄 수 있다.
사용 방법
@UpdateTimestamp
@Column(name = "upd_date")
private LocalDateTime updDate;
위와 @UpdateTimestamp만 지정해주면 끝이다.
이렇게 JPA환경에서 INSERT /UPDATE를 할 때 현재시간을 기입하는 방법에 대해 알아봤다.
이 외에도 현재시간을 기입하는 방법은 정말 많은 방법들이 있기때문에 이 방법만이 답이 아니란 것을 말하고싶다.
'Programming > Spring' 카테고리의 다른 글
[Spring] 스프링 빈 생명 주기에 대해서 (Spring Bean Life Cycle) (0) | 2022.08.08 |
---|---|
원활한 MSA를 위한 Spring Cloud란? (개념/ 종류/ Config Server/ Gateway) (0) | 2022.06.16 |
[Spring Boot] Jackson을 이용하여 Response값 Filtering 방법 (개념/ 예제) (2) | 2022.06.07 |
[Spring] 의존성 주입(Dependency Injection)이란? (개념/ 예제/ 총 정리) (2) | 2022.05.31 |
[Spring Boot] MyBatis 카멜케이스 변환 방법 (Snake -> Camel Case) (1) | 2022.05.02 |
댓글