Я пытаюсь включить Аудит с помощью аннотаций. Мой класс домена имеет поле @Id, которое заполняется при построении объекта. Я добавил поле java.util.Date для lastModified и аннотировал его с помощью @LastModifiedDate.SpringData MongoDB не может определить IsNewStrategy во время аудита
@Document
public class Book {
@Id
private String name;
private String isbn;
@LastModifiedDate
private Date lastModified;
public Book(String name) {
this.name = name;
}
}
Я включил аудит в XML Spring конфигурации с использованием <mongo:auditing/>.
При попытке сохранить экземпляр моего объекта, я получаю следующее сообщение об ошибке:
Book book1 = new Book("ABCD");
mongoOps.save(book1);
java.lang. IllegalArgumentException: Неподдерживаемый объект com.pankaj.Book! Не удалось определить IsNewStrategy.
Я не хочу использовать интерфейс Auditable и не расширять классы домена из AbstractAuditable. Я хочу использовать только аннотации. Поскольку меня не интересуют @CreatedBy и @LastModifiedBy, я также не реализую интерфейс AuditAware.
Я просто хочу, чтобы @LastModifiedDate работал для моих классов домена. Что мне не хватает?
Я использую версию 1.7.0 SpringData MongoDB.
проблема, похоже, дублирование отображенияContext. Посмотрите здесь: https://stackoverflow.com/questions/40738105/spring-data-mongodb-mongoauditing-cause-illegalargumentexception-unsupporte/40764592#comment76784613_40764592 – gba