我有一个带有几个实体的树状结构:一个流程由步骤组成,一个步骤可能有子流程。假设我有两种失败模式:中止和重做。我实现了树遍历逻辑,将失败信号在树上上下级联。在中止的情况下,一切正常;abort 正确地向上和向下级联,通知其父级和子级。在重做的情况下,同样会发生,除了创建一个新进程来替换失败的进程。因为我使用的是 DataMapper 模式,所以新对象无法保存自己,也没有办法将新对象传递给 EntityManager 进行持久化,因为实体通常不了解持久性甚至服务。
那么,如果我不将 EntityManager 传递给域层,我如何才能在新对象超出范围之前了解它们的创建?
这是否是实现 AOP(例如使用 JMSAopBundle)的好案例?这是我读过的东西,但还没有真正找到有效的用例。