gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 10:58:50 25 4
gpt4 key购买 nike

我在项目中使用 Spring Boot 和 lombok,但遇到了一些问题。我的类(class)如下所示:

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: Cannot construct instance of ElementEntity (no Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator)

但是如果我从 lombok 添加 @NoArgsConstructor 我会收到以下编译错误:

[ERROR] ElementEntity.java:[11,1] constructor ElementEntity() is already defined in class ElementEntity

似乎@Document 添加了一个,但可能仅具有包可见性。有没有一种简单的方法来解决这个问题,或者我必须手动向每个 @Document 添加一个公共(public)的无参数构造函数?

最佳答案

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

<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.0</version>
<scope>provided</scope>
</dependency>

Read

关于java - Lombok、Spring mongodb 和 jackson 构造函数问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52203450/

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