为什么 Spring Data MongoDB 不公开 update…(…) 方法的事件?

rog*_*ter 2 spring event-listener spring-data-mongodb

看来mongoOperations的更新不会触发AbstractMongoEventListener中的事件。

这篇文章表明至少 2014 年 11 月是这样

目前有什么方法可以监听如下更新事件吗?如果真是这样的话,这似乎是一个很大的遗漏。

MongoTemplate.updateMulti()
Run Code Online (Sandbox Code Playgroud)

谢谢!

Oli*_*ohm 5

这不是疏忽。事件至少是围绕域对象或文档的生命周期设计的,这意味着它们通常包含您感兴趣的域对象的实例。

另一方面,更新完全在数据库中处理。因此,. 中没有处理任何文档,甚至没有域对象MongoTemplate。考虑到这一点基本上与 JPA@EntityListener只针对首先加载到持久性上下文中的实体触发相同,但在执行查询时不会触发,因为查询的执行发生在数据库中。