티스토리 뷰
Spring Boot
스프링 부트와 AWS로 혼자 구현하는 웹 서비스
3.5 JPA Auditing 으로 생성시간/수정시간 자동화하기
- LocalDate 사용
domain 에 BaseTimeEntity.java 만들기
package com.springboot.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.LocalDateTime;
@Getter
@MappedSuperclass
@EntityListeners(AuditingEntityListener.class)
public abstract class BaseTimeEntity {
@CreatedDate
private LocalDateTime createdDate;
@LastModifiedDate
private LocalDateTime modifiedDate;
}
@MappedSuperclass : JPA Entity 클래스들이 BaseTimeEntity을 상속할 경우 필드들도 칼럼으로 인식하도록 함.
@EntityListener(AuditingEntityListener.class) : BaseTimeEntity 클래스에 Auditing 기능 포함
@CreatedDate, @LastModifiedDate : Entity가 생성되어 저장될 때, Entity의 값을 변경할 때 시간이 자동 저장
추가로 Posts 클래스가 BaseTimeEntity 를 상속받도록 변경하고 Application 클래스에 @EnableJpaAuditing 어노테이션을 추가한다.
- JPA Auditing 테스트 코드 작성
PostsRepositoryTest.java
@Test
public void BaseTimeEntity_등록() {
//given
LocalDateTime now = LocalDateTime.of(2019,6,4,0,0,0);
postsRepository.save(Posts.builder()
.title("title")
.content("content")
.author("author")
.build());
//when
List<Posts> postsList = postsRepository.findAll();
//then
Posts posts = postsList.get(0);
System.out.println(">>>>>>> createDate=" + posts.getCreatedDate()+", modifiedDate=" + posts.getModifiedDate());
assertThat(posts.getCreatedDate()).isAfter(now);
assertThat(posts.getModifiedDate()).isAfter(now);
}
콘솔에서 시간을 확인할 수 있다.
반응형
    
    
    
  '활동 > 교육과정 중 기록' 카테고리의 다른 글
| 200318 Spring Boot (0) | 2020.03.18 | 
|---|---|
| 200316 Spring Boot (0) | 2020.03.16 | 
| 200315 Spring Boot (0) | 2020.03.15 | 
| 200314 Spring Boot (0) | 2020.03.14 | 
| 200211 React (0) | 2020.02.11 | 
					댓글
						
					
					
					
				
			반응형
    
    
    
  
										공지사항
										
								
							
								
								
									최근에 올라온 글
									
							
								
								
									최근에 달린 댓글
									
							
								
								- Total
 
- Today
 
- Yesterday
 
									링크
									
							
								
								
									TAG
									
							
								
								- 코딩 면접
 - #패스트캠퍼스 #프로그래밍대학생서포터즈 #올인원패키지 #컴퓨터공학 #성공하는프로그래밍공부법
 - 컴퓨터공학
 - 패스트캠퍼스
 - 자료구조
 - Fast Campus
 - c언어
 - 운영체제
 - 프로그래밍 온라인 강의
 - 개발자 취업
 - 올인원 패키지
 
| 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 | 
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 
| 16 | 17 | 18 | 19 | 20 | 21 | 22 | 
| 23 | 24 | 25 | 26 | 27 | 28 | 29 | 
| 30 | 
									글 보관함