Spring 数据 Couchbase @CreatedDate 不工作

Spring Data Couchbase @CreatedDate not working

我正在使用 Spring 启动和 spring 数据沙发底座。 我为 createdDatelastModifiedDate 添加了两个字段,在 Movie 中使用 @CreatedDate@LastModifiedDate 注释 文档。

lastModifiedDate 效果很好,但 createdDate 始终为空。

@RequiredArgsConstructor
@NoArgsConstructor
@ToString
@EqualsAndHashCode
@Document
public class Movie {

    @Id
    @NonNull
    @Getter
    private String id;

    @Getter
    @Setter
    @NonNull
    private String title;

    @Getter
    @LastModifiedDate
    private Date lastModifiedDate;

    @Getter
    @CreatedDate
    private Date createdDate;
}

我还为 @EnableCouchbaseAuditing 添加了配置:

@Configuration
@EnableCouchbaseAuditing
public class AuditConfiguration {
}

电影库:

@N1qlPrimaryIndexed
@ViewIndexed(designDoc = "movie")
public interface MovieRepository extends CouchbaseRepository<Movie, String> {

    Collection<Movie> findByTitle(String title);

    Collection<Movie> findByTitleLike(String title);

    Collection<Movie> findByTitleStartingWith(String title);

}

application.yml供参考:

spring:
  couchbase:
    bootstrap-hosts: localhost
    bucket:
      name: movie
  data:
    couchbase:
      auto-index: true

documentation中所述,为了区分创建和更新,spring-data-couchbase需要实体中的@Version注释属性class

如果有人登陆这里...我遇到了 createdDate 未被填充的问题,即使我遵循了 spring-data-couchbase documentation. I followed the process of creating immutable objects for my Document and Auditing。原因是用 @CreatedDate 注释的字段是 final (我使用了 lombok @Value)。我必须将其设为非最终版本(@NonFinal 使用 Lombok)才能最终运行。