본문 바로가기

study/Spring boot

엉터리 정리 - 엔티티 필드에 기본 값 설정해서 넣기

엔티티마다 공통된 값이 들어가는 필드에 대해 자동으로 설정하도록 할 수 있다.

 

먼저 config파일을 만든다

@Configuration - 설정 파일임을 선언
@EnableJpaAuditing - 감시를 활성화 시킨다.
public class JpaConfig { }

 

그 다음 컴포넌트를 만든다. AuditorAware<T> 인터페이스를 구현한다. 

@Component
public class LoginUserAuditorAware implements AuditorAware<String> {

    @Override
    public Optional<String> getCurrentAuditor() {
        return Optional.of("AdminServer");
    }
}

 

그리고 설정된 값이 들어갈 엔티티의 필드 위에 어노테이션을 붙인다.

@CreatedBy
private String createdBy; <- "AdminServer"가 들어감
@CreatedDate
private LocalDateTime createdAt; <- 현재시간 들어감

엔티티의 선언부에 감시자 엔티티 리스너를 사용한다는 어노테이션을 붙인다

@EntityListeners(AuditingEntityListener.class)

 

이런 설정을 마치면 따로 값을 설정하지 않아도 엔티티 필드에 기본 값을 넣을 수 있다.

 

 

다른 간단한 방법도 있다. 컨트롤러가 요청을 처리할 때, 값을 직접 설정하도록 메소드를 설정해도 기본값을 만들 수 있다.

'study > Spring boot' 카테고리의 다른 글

엉터리 정리 - 테스트 코드  (0) 2021.04.05
REST API 만들기  (0) 2021.03.31
JPA 연관관계 설정하기  (0) 2021.03.25
JPA와 Repository(간단히 CRUD)  (0) 2021.03.25
JPA와 Entity 기본  (0) 2021.03.24