在spring-data-jpa
中,我们可以使用JPA的注释,例如@PrePersist
和朋友来拦截保存/加载事件。
在spring-data-mongodb
中,出于相同的目的,我们可以使用lifecycle events。
spring-data-elasticsearch
中是否有类似内容?
答案 0 :(得分:1)
目前,像spring-data-mongodb中一样,spring-data-elasticsearch中没有生命周期挂钩。拥有它们肯定会很好。
我为此打开了issue。
答案 1 :(得分:0)
说实话,我不了解elasticsearch,但因为它是Spring Data,所以我建议您使用像这样的EventHandler:
@Component
@RepositoryEventHandler(YourDomainClass.class)
public class YourDomainClassEventHandler {
@HandleBeforeCreate
public void handleYourDomainClassCreate(YourDomainClass yourDomainClass) {
//do some action
}
}
也有诸如@HandleBeforeSave
,@HandleAfterSave
之类的注释。它是spring-data-rest-core库的一部分。
答案 2 :(得分:0)
EntityCallback
支持是在几个月前实施的,请参见https://docs.spring.io/spring-data/elasticsearch/docs/current/reference/html/#entity-callbacks
当前,支持响应式和阻塞式的保存后,转换后,转换前实体回调。