Spring 数据 Couchbase @CreatedDate 不工作
Spring Data Couchbase @CreatedDate not working
我正在使用 Spring 启动和 spring 数据沙发底座。
我为 createdDate 和 lastModifiedDate 添加了两个字段,在 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)才能最终运行。
我正在使用 Spring 启动和 spring 数据沙发底座。
我为 createdDate 和 lastModifiedDate 添加了两个字段,在 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)才能最终运行。