Я использую Spring Boot и lombok в своем проекте и сталкиваюсь с некоторыми проблемами с ним.
Мой класс выглядит так:
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import lombok.Data;
@Data
@Document(collection = "elements")
public class ElementEntity {
@Id
private String id;
// ...
}
Теперь, если я использую Джексона ObjectMapper для создания моего ElementEntity, я получаю следующую ошибку времени выполнения:
com.fasterxml.jackson.databind.exc.InvalidDefinitionException: невозможно
создать экземпляр ElementEntity
(без создателей, как по умолчанию
создать, существует): не может десериализовать из значения объекта (без делегата-
или создатель на основе собственности)
Но если я добавлю @NoArgsConstructor
из lombok, я получу следующую ошибку компиляции:
[ОШИБКА] ElementEntity.java:[11,1] конструктор ElementEntity () является
уже определено в классе ElementEntity
Кажется, @Document
добавляет один, но, вероятно, только с видимостью пакета. Есть ли простой способ решить эту проблему, или я должен вручную добавить открытый конструктор без аргументов к каждому @Document
?