为了账号安全,请及时绑定邮箱和手机立即绑定

Lombok、Spring mongodb 和 jackson 构造函数问题

Lombok、Spring mongodb 和 jackson 构造函数问题

函数式编程 2021-09-03 13:02:40
我在我的项目中使用 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?
查看完整描述

2 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

它是 lombok 1.16.22 中的一个错误,尝试升级到 1.18.0,


<dependency>

    <groupId>org.projectlombok</groupId>

    <artifactId>lombok</artifactId>

    <version>1.18.0</version>

    <scope>provided</scope>

</dependency>


查看完整回答
反对 回复 2021-09-03
?
慕尼黑的夜晚无繁华

TA贡献1864条经验 获得超6个赞

尝试将 id 字段定义更改为:


@Id

@Getter

@Setter

private String id;


查看完整回答
反对 回复 2021-09-03
  • 2 回答
  • 0 关注
  • 116 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信