gpt4 book ai didi

spring-data - Spring Data MongoDB 在审计期间无法确定其新策略

转载 作者:行者123 更新时间:2023-12-04 22:59:11 24 4
gpt4 key购买 nike

我正在尝试使用注释启用审核。我的域类具有在构造对象时填充的 @Id 字段。我为 lastModified 添加了一个 java.util.Date 字段,并用 @LastModifiedDate 对其进行了注释。

@Document
public class Book {
@Id
private String name;
private String isbn;
@LastModifiedDate
private Date lastModified;

public Book(String name) {
this.name = name;
}
}

我已使用 <mongo:auditing/>. 在 Spring 配置 XML 中启用审核

当我尝试保存对象的实例时,出现以下错误:

Book book1 = new Book("ABCD");
mongoOps.save(book1);

java.lang.IllegalArgumentException:不支持的实体 com.pankaj.Book!无法确定 IsNewStrategy。

我不想使用 Auditable 接口(interface),也不想从 AbstractAuditable 扩展我的域类。我只想使用注释。
因为我对@CreatedBy 和@LastModifiedBy 不感兴趣,所以我也没有实现 AuditAware 接口(interface)。

我只希望 @LastModifiedDate 为我的域类工作。我错过了什么?

我正在使用 SpringData MongoDB 1.7.0 版。

最佳答案

您没有提及如何配置 MongoDB 连接,但如果您使用 AbstractMongoConfiguration,它将使用实际配置类的包在启动时查找 @Document 注释类。

如果您的实体位于不同的包中,则必须通过覆盖 AbstractMongoConfiguration.getMappingBasePackage() 手动处理该包。把它放在你的 Mongo Configuration 类中应该可以解决问题(同样,这是考虑到你正在为你的 Mongo 配置扩展 AbstractMongoConfiguration ):

@Override
protected String getMappingBasePackage() {
return "package.with.my.domain.classes";
}

关于spring-data - Spring Data MongoDB 在审计期间无法确定其新策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31422672/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com