Java 有没有办法让Spring数据审计根据字段填充Long或String?

Java 有没有办法让Spring数据审计根据字段填充Long或String?,java,spring,spring-data,Java,Spring,Spring Data,我有一个遗留的模式,我想使用SpringDataJPA,我正在尝试解决这个场景是否可行 我有如下代码模型: @Entity class Entity1 { ... @CreatedBy private String createdBy; ... } 及 我希望能够使用Spring数据来实现这一点,但是(到目前为止)我找不到审计支持这一点的方法 我尝试的第一件事是使用两个AuditorAwarebean,但是这会导致多bean异常问题。有人知道目前这是否可行吗?我需要在哪

我有一个遗留的模式,我想使用SpringDataJPA,我正在尝试解决这个场景是否可行

我有如下代码模型:

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

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

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


提前谢谢

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

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

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

  • 创建一个类似于AnnotationAuditingConfiguration接口的接口,该接口知道有几个AuditorAware类型的bean
  • 创建一个AuditHandler实现,该实现可以根据返回类型区分AuditorAware实例
  • 修改/重写AuditingBeanDefinitionRegistrarSupport以构造前面提到的类型感知AuditHandler
  • 提供一个用于导入重写注册器的注释

相当多:)

谢谢你提供的信息,Gabriel:)实际上我已经在Spring JIRA中提出了一个功能请求,因为我确信其他人可以利用它的功能:同时,我使用了Spring的AuditorAware bean,并编写了我自己的实体监听器,它的工作与Spring数据相同,但根据我的需要采用了非常具体的实现。如果这个特性继续下去,我希望用Spring数据实现这个替代。很好,如果你能和我们分享这个实现将是非常酷的:)我会很快做的,虽然我不认为这是一个很好的例子。它只是起作用:)
@Entity
class Entity2 {
    ...
    @CreatedBy
    private Long createdBy;
    ...
}