inflearn logo
강의

Course

Instructor

Implementing a Spring Boot-based API template project to improve productivity

JPA Auditing Settings

auditing

75

tjdgh03125269

40 asked

0

@EntityListeners(AuditingEntityListener.class) 

저걸안쓰는이유가무엇인가요?

저렇게 직접구현하는이유가

spring-boot jpa web-api

Answer 1

0

bgh79465479

@EntityListeners(value = {AuditingEntityListener.class}) 어노테이션의 경우 현재 BaseEntity, BaseTimeEntity 클래스에 선언해두었습니다.

 

해당 어노테이션 사용 시 jpa의 이벤트가 발생할 때 추가로 처리를할 수 있도록 도와주는 기능입니다.

@CreatedDate, @LastModifiedDate 어노테이션을 생성시간과 업데이트시간 필드에 선언해두었는데 저장 및 업데이트 시 해당 리스너에 의해서 생성 시간과 업데이트 시간이 세팅되서 db에 저장된다고 봐주시면됩니다.

@EntityListeners(value = {AuditingEntityListener.class})
@MappedSuperclass
@Getter
public abstract class BaseTimeEntity {

    @CreatedDate
    @Column(updatable = false)
    private LocalDateTime createTime;

    @LastModifiedDate
    private LocalDateTime updateTime;

}

BaseEntity의 경우 등록자와 수정자 필드를 가지고 있는데 스프링 빈으로 등록한 AuditorAwareImpl 에 의해서 현재 요청한 API의 URI 정보를 자동으로 등록해줍니다.

이런 편의 기능 덕분에 저희가 코드상에서 직접 생성시간/수정시간/등록자/수정자를 세팅하는 번거로움을 덜 수 있습니다.

@EntityListeners(value = {AuditingEntityListener.class})
@MappedSuperclass
@Getter
public abstract class BaseEntity extends BaseTimeEntity {

    @CreatedBy
    @Column(updatable = false)
    private String createdBy;

    @LastModifiedBy
    private String modifiedBy;

}

OAUTH2 질문

0

93

2

카카오토큰관련

0

79

2

전역에러처리질문

0

112

2

토큰 발급 관련 문의 드립니다.

0

129

2

이 흐름이 맞을까요??

0

126

2

OpenFeign을 어떤 상황에서 어떻게 사용하는지 감이 안옵니다...

0

216

2

도메인형 패키지 구조 질문

0

241

1

application.yml token 선언 시 오류

0

322

1

토큰발행시 500 INTERNAL_SERVER_ERROR

0

154

1

oauth 회원가입 시 필수 추가 정보는 어떤 식으로 받으시나요?

0

287

2

io.jsonwebtoken.security.WeakKeyException 해결방법

0

386

1

리프레시 토큰 사용 관련 문의 건

0

336

1

Xss 에서 WebConfig 오류 발생됩니다.

0

667

1

applycation.yml 의 readTimeout 이 적용이 안됩니다.

0

695

2

강사님 Swagger에 질문드립니다.

0

293

2

kakao token 발급 시 에러

0

729

2

아직 초반부분인데 질문이있습니다.

0

204

1

socialLoginApiService map 주입

0

290

1

전역 에러 처리 메시지 관리

0

605

2

안드로이드 스튜디오와 협업

0

643

2

String accessToken = authorizationHeader.split(" ")[1];은 accessToken이 맞나요?

0

310

1

SocialLoginApiServiceFactory 생성자 관련 질문입니다.

0

254

1

OAuthAttributes 클래스의 toMemberEntity의 파라미터로 memberType이 들어가야하는 이유가 궁금합니다.

0

444

2

feignClient의 consumes와 @RequestHeader는 같은 역할인가요?

0

929

1