我在我的项目中使用 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;
// ...
}
现在,如果我使用 jackson ObjectMapper 创建我的 ElementEntity,我会收到以下运行时错误:
com.fasterxml.jackson.databind.exc.InvalidDefinitionException:无法构造实例ElementEntity(无创建者,如默认构造,存在):无法从对象值反序列化(无基于委托或属性的创建者)
但是如果我添加@NoArgsConstructor来自 lombok 的我得到以下编译错误:
[错误] ElementEntity.java:[11,1] 构造函数 ElementEntity() 已在类 ElementEntity 中定义
它似乎@Document增加了一个,但可能只有包可见性。有没有简单的方法来解决这个问题,或者我必须手动添加一个 public no args 构造函数到 each @Document?
婷婷同学_
慕尼黑的夜晚无繁华
相关分类