任何让Spring数据审计根据字段填充长或字符串的方法



我有一个遗留的模式,我想使用Spring Data JPA,我试图找出如果这种情况是可能的。

我的代码模型如下:

@Entity
class Entity1 {
   ...
   @CreatedBy
   private String createdBy;
   ...
}

@Entity
class Entity2 {
    ...
    @CreatedBy
    private Long createdBy;
    ...
}

我希望能够使用Spring Data来实现这一点,但是我找不到一种方法(到目前为止)让审计支持这一点。

我尝试的第一件事是有两个AuditorAware bean,但是这会导致多bean异常问题。有人知道如果这是可能的,目前,我需要在哪里寻找解决方案?

提前感谢!

非常有趣的问题,谢谢你的提出。

查看代码,没有办法插入第二个AuditorAware bean并让系统根据返回类型在它们之间进行选择。Spring甚至基于这个假设构建自己的内部bean。

你必须(根据初步研究):

  • 创建一个类似于AnnotationAuditingConfiguration接口的接口,该接口知道有几个类型为AuditorAware的bean
  • 创建一个auditthandler实现,它可以根据返回类型区分AuditorAware实例。
  • 修改/覆盖AuditingBeanDefinitionRegistrarSupport以构造前面提到的类型感知的auditthandler
  • 提供一个注释来导入被覆盖的注册商

相当多:))

最新更新