在spring-data-jpa中,我们可以使用@PrePersist和friends等JPA注解来拦截保存/加载事件。
在spring-data-mongodb中,出于同样的目的,我们可以使用lifecycle events。
在spring-data-elasticsearch中有类似的东西吗?
发布于 2019-06-07 02:40:24
目前,spring-data-elasticsearch中没有生命周期钩子,就像它们存在于spring-data-mongodb中一样。如果能有他们肯定会很好。
我为此打开了issue。
编辑:
正如罗曼在他的回答中所写的那样,这已经在4.0版本中实现了
发布于 2019-06-04 17:09:50
老实说,我不知道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库的一部分。
发布于 2020-09-07 16:21:50
几个月前实现了对EntityCallback的支持,请参阅https://docs.spring.io/spring-data/elasticsearch/docs/current/reference/html/#entity-callbacks
目前支持保存后、转换后、转换前实体回调,包括反应式回调和阻塞回调。
https://stackoverflow.com/questions/56426467
复制相似问题