从另一个回调方法触发回调方法

时间:2015-07-22 18:46:12

标签: apache-cayenne

我有一个创建Assignment对象的PrePersist回调。我需要触发回调,以便在将这些Assignment对象插入数据库时​​通知我。分配的PostPersist回调不会以这种方式触发。触发的唯一回调是PostAdd,这对我没有帮助。我该怎么做呢?谢谢。

1 个答案:

答案 0 :(得分:1)

持久对象事件的经验法则是:

  • 对象的回调是针对与对象本身相关的逻辑(例如,设置创建时间戳,重置非持久属性等)。
  • 侦听器(另一种形式的Cayenne事件处理器)用于在提交对象时需要执行的审计和工作流任务。

你有一个不同的情况,即组装"聚合"由其他持久对象组成的对象。因此,我建议将这个逻辑从回调中完全转移到一个知道如何一起创建和连接对象的工厂类中。