spring 의 data-jpa 사용시 데이터 변경시 알림을 받는 방법이 있다.
EntityListener 클래스를 만들고
public class DataDtoListener {
@PostLoad
public void postLoad(DataDto dto) {
log.info("post load: {}", dto);
}
@PrePersist
public void prePersist(DataDto dto) {
log.info("pre persist: {}", dto);
}
@PostPersist
public void postPersist(DataDto dto) {
log.info("post persist: {}", dto);
}
@PreUpdate
public void preUpdate(DataDto dto) {
log.info("pre update: {}", dto);
}
@PostUpdate
public void postUpdate(DataDto dto) {
log.info("post update: {}", dto);
}
@PreRemove
public void preRemove(DataDto dto) {
log.info("pre remove: {}", dto);
}
@PostRemove
public void postRemove(DataDto dto) {
log.info("post remove: {}", dto);
}
}
@Entity 클래스에 @EntityListeners를 등록 하는 것이다.
@EntityListeners(DataDtoListener.class)
@Entitty
@Table(name="table_name")
public class DataDto() {
@Id
private long id;
...
}
EntityListener 클래스에 적용한 이벤트는 다음 시점에 호출된다.
- @PostLoad: 해당 엔티티를 새로 불러오거나 refresh 한 이후.
- @PrePersist: 해당 엔티티를 저장하기 이전
- @PostPersist: 해당 엔티티를 저장한 이후
- @PreUpdate: 해당 엔티티를 업데이트 하기 이전
- @PostUpdate: 해당 엔티티를 업데이트 한 이후
- @PreRemove: 해당 엔티티를 삭제하기 이전
- @PostRemove: 해당 엔티티를 삭제한 이후
'개발자의 정보 > Java & framework' 카테고리의 다른 글
Spring에서 MultipartFile로 파일 저장 / 다운로드 (0) | 2020.02.15 |
---|---|
Bean의 생성과 소멸에 발생되는 이벤트 (0) | 2020.02.13 |
Java에서 Jackson 사용중 JSON data에 특정 field 제외 하거나 포함하기 (0) | 2020.02.13 |
Simplified sorting in List (0) | 2020.02.12 |
자바로 파일 인코딩 확인하기 - Check the file encoding in Java language (1) | 2020.02.01 |
[JSP] forward된 페이지에서 request.getRequestURI 사용하기 (0) | 2020.02.01 |
Spring framework Page<T> 와 DataTables.js 연동 (0) | 2020.02.01 |
Spring @Controller 에서 파라미터로 배열 받기 (2) | 2020.02.01 |
댓글