EntityCallback은 Spring Data Relation 프로젝트입니다.
Spring 데이터 인프라는 특정 메서드가 호출되기 전과 후에 엔티티를 수정하기 위한 훅을 제공합니다. 이러한 EntityCallback
인스턴스는 콜백 방식으로 엔티티를 확인하고 잠재적으로 수정할 수 있는 편리한 방법을 제공합니다.EntityCallback
은 특수한 ApplicationListener
와 매우 유사합니다.
엔티티 콜백은 동기식 및 반응형 API를 모두 갖춘 통합 지점을 제공하여 처리 체인 내에서 잘 정의된 체크포인트에서 순서대로 실행되도록 보장하며, 잠재적으로 수정된 엔티티 또는 반응형 래퍼 유형을 반환합니다.
엔티티 콜백은 일반적으로 API 유형별로 구분됩니다. 이러한 분리는 동기식 API는 동기식 엔티티 콜백만 고려하고, 반응형 API는 반응형 엔티티 콜백만 고려한다는 것을 의미합니다.
Registering Entity Callbacks
EntityCallback
빈은 ApplicationContext
에 등록된 경우 스토어별 구현에 의해 선택됩니다. 대부분의 템플릿 API들은 이미 ApplicationContextAware
를 구현하기에 ApplicationContext
에 접근할 수 있습니다.
@Order
을 활용해 순서를 지정하는 경우
@Order(1)
@Component
class First implements BeforeSaveCallback<Person> {
@Override
public Person onBeforeSave(Person person) {
return // ...
}
}
Ordered
를 활용하여 순서를 지정하는 경우
@Component
class DefaultingEntityCallback implements BeforeSaveCallback<Person>, Ordered {
@Override
public Object onBeforeSave(Person entity, String collection) {
// ...
}
@Override
public int getOrder() {
return 100;
}
}
'스프링' 카테고리의 다른 글
GenericConversionService (0) | 2025.04.15 |
---|---|
Entity Callbacks 실행 과정 (0) | 2025.04.10 |
InsertOnlyProperty (0) | 2025.04.09 |
MVC의 요청 처리 과정 (0) | 2025.03.31 |
Webflux, ReactiveTransactionManager 환경에서의 이벤트 발행 (0) | 2025.03.24 |