【发布时间】:2019-07-16 17:48:46
【问题描述】:
我正在使用@RepositoryRestResource 设施,但我想在每次用户执行读取操作 GET、查找等时对瞬态字段进行计算(取决于外部服务)。
如果列表中只有 AfterGet/AfterFind 事件,我可以通过扩展 AbstractRepositoryEventListener 来处理修改
有什么干净的建议吗?
【问题讨论】:
-
使用AOP怎么样?
-
@PostLoad实体监听器将是一个可能的解决方案。传统上,使实体侦听器受弹簧管理涉及一些黑客行为,但是这里有一个答案表明这在 Spring/Hibernate 的最新版本中现在很简单。如果不是,则存在其他解决方案。 stackoverflow.com/a/55452014/1356423 -
谢谢!但是我需要调用一个外部服务,我不确定在无状态实体监听器中为@PostLoad 注入一个依赖项是否有意义
-
我不确定在无状态实体监听器中为@PostLoad 注入一个依赖项是否有意义。对不起,但这意味着什么?逻辑将由实体外部的实体侦听器处理,而不是通过其中定义的回调方法,例如thejavageek.com/2014/05/24/jpa-entitylisteners
-
我的计算依赖于外部调用,如果实体和实体监听器是无状态的,我应该把它放在哪里?
标签: java spring spring-boot spring-data-jpa spring-data-rest