老实说,我不知道从哪里开始。存储库方面相对简单,但我似乎找不到任何有关如何通过 CommandGateway 删除聚合根的信息。
任何有关如何实现这一目标的指示和/或文档将不胜感激。
老实说,我不知道从哪里开始。存储库方面相对简单,但我似乎找不到任何有关如何通过 CommandGateway 删除聚合根的信息。
任何有关如何实现这一目标的指示和/或文档将不胜感激。
将其放在这里以供其他可能像我最初一样迷失的人将来参考。
使用事件溯源聚合时,可以在相关聚合上使用 markDeleted() 静态方法。我把我的放在@EventSourcingHandler
import static org.axonframework.modelling.command.AggregateLifecycle.markDeleted;
@EventSourcingHandler
public void on(DeletedEvent event){
markDeleted();
}
可以在以下位置找到更多信息:https ://docs.axoniq.io/reference-guide/implementing-domain-logic/command-handling/aggregate#aggregate-lifecycle-operations
要删除与聚合关联的视图数据,我使用了外部 @EventHandler:
@EventHandler
public void on(DeletedEvent event, ReplayStatus status){
entityRepo.deleteById(event.getId());
}
感谢 Allard 让我参与评论部分。