오답노트
[Spring JPA] Auditing 본문
Listener
JPA에는 Listener가 있는데, curd를 할 때, Anotation을 활용해 전후로 원하는 로직을 만들어 넣을 수 있다.
https://www.baeldung.com/jpa-entity-lifecycle-events#lifecycle
Auditing
Listener를 통해서 자주 사용하는 기능을 Spring에서 Anotation으로 미리 만들어 놨다. (ex. CreatedDate)
이를 사용하기 위해서 AuditingEntityListener를 상속 받으면 된다.
@Data
@MappedSuperclass
@EntityListeners(value = AuditingEntityListener.class)
public class BaseEntity {
@CreatedDate
private LocalDateTime createdAt;
@LastModifiedDate
private LocalDateTime updatedAt;
}
Listener를 상속 받아 해당 Entity가 생성되거나 수정되면 timestamp를 찍는다.
@Entity
@NoArgsConstructor
@Data
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
public class BookReviewInfo extends BaseEntity{
@Id
@GeneratedValue
private Long id;
private Long bookId;
private float avgReviewScore;
private int reviewCount;
}
BaseEntity를 상속 받아 해당 Entity가 생성되거나 수정되면 timestamp를 찍는다.
@EnableJpaAuditing
@SpringBootApplication
public class BookmanagerApplication {
public static void main(String[] args) {
SpringApplication.run(BookmanagerApplication.class, args);
}
}
Listener를 사용하기 위해 @EnableJpaAuditing을 상속 받아야한다.
'Java > Spring' 카테고리의 다른 글
[Spring JPA] Entity Relations (0) | 2023.07.19 |
---|---|
[Spring JPA] Query Method (0) | 2023.07.19 |
[Spring JPA] H2 In-Memory DB (0) | 2023.07.18 |
[Spring] 코드 Test하기 (0) | 2023.07.17 |
[Spring] Server to Server 예제 (네이버 API) (0) | 2023.07.14 |