有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

springdataelasticsearch基于java注释的审计?

我正在尝试使用基于注释的方法,使用spring data elasticsearch审核我的elasticsearch文档。在实现我的类/设置时,我遵循了JPA指南

我的代码如下所示:

@Configuration
@EnableJpaAuditing
public class SpringSecurityAuditorAwareConfiguration {

    @Bean
    public AuditorAware<String> auditorProvider() {
        return new SpringSecurityAuditorAware();
    }

}

public class SpringSecurityAuditorAware implements AuditorAware<String> {

    public Optional<String> getCurrentAuditor() {

        return Optional.ofNullable(SecurityContextHolder.getContext())
                .map(SecurityContext::getAuthentication)
                .filter(Authentication::isAuthenticated)
                .map(Authentication::getPrincipal)
                .map(User.class::cast)
                .map(User::getUsername);
    }
}

@Document(indexName =  "myEntity", type = "myEntityType")
public class MyEntity {

    @Id
    private String id;

    @CreatedBy
    protected String createdBy;

    @CreatedDate
    protected OffsetDateTime createdDate;

    @LastModifiedBy
    protected String lastModifiedBy;

    @LastModifiedDate
    protected OffsetDateTime lastModifiedDate;

    public void setDictionaryId(DictionaryId dictionaryId) {
        this.dictionaryId = dictionaryId;
    }

    public String getCreatedBy() {
        return createdBy;
    }

    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }

    public OffsetDateTime getCreatedDate() {
        return createdDate;
    }

    public void setCreatedDate(OffsetDateTime createdDate) {
        this.createdDate = createdDate;
    }

    public String getLastModifiedBy() {
        return lastModifiedBy;
    }

    public void setLastModifiedBy(String lastModifiedBy) {
        this.lastModifiedBy = lastModifiedBy;
    }

    public OffsetDateTime getLastModifiedDate() {
        return lastModifiedDate;
    }

    public void setLastModifiedDate(OffsetDateTime lastModifiedDate)     {
        this.lastModifiedDate = lastModifiedDate;
    }

}

不幸的是,当我保存一个新实例时,属性总是设置为null。spring data elasticsearch是否支持基于注释的方法


共 (1) 个答案

  1. # 1 楼答案

    编辑:

    从2020年5月发布的4.0版开始实施

    原始答案:

    不,Spring Data Elasticsearch目前不支持这一点

    create a ticket添加对该功能的支持,这绝对是一个值得拥有的功能