【发布时间】:2015-07-29 05:49:16
【问题描述】:
我有一个要求,我需要建议所有删除和保存方法,并将删除/保存的记录发送到其他地方。
我正在使用具有
的JpaRepository- 6 次删除
- 3 次保存
基本上我需要建议所有这些方法。问题是它们中的每一个都有不同的方法签名和返回类型,有时接受 Long、Object 或 List。我正在考虑使用方面来实现这一点,但它似乎很讨厌,因为我目前有 4 个需要审核的对象涉及 4 x 9 = 36 个不同的切入点。还有更多这样的产品,所以很快就会达到数百个。
有没有更好的办法?
【问题讨论】:
-
您是否考虑过使用 JPA EntityListeners? java2s.com/Tutorial/Java/0355__JPA/… 它们可以挂接到 JPA 实体生命周期的各个点,例如 Pre/Post-Persist/Update/Delete。
-
这看起来可能是要走的路,但是,我需要访问 spring bean 来发送 JMS 消息。我想知道这是否可以使用@EntityListeners。
-
只是一个提议:如果您不能通过 JPA 侦听器或类似方法解决您的问题,请分享一些代码(例如各种方法名称和签名),那么也许我可以建议一个基于方面的解决方案。不过,为此目的设计的车载框架装置可能更可取。
标签: spring spring-boot aspectj spring-data-jpa