小编tam*_*low的帖子

如何修复不可变类中的“无法使用带参数的构造函数 NO_CONSTRUCTOR 实例化‘className’”

我在春季启动时使用 MongoDBRepository,当我在数据库中保存一些对象时,一切正常。但是当我通过 id 找到对象时,spring 不允许这样做。

我尝试将 VehicleRoutingProblemSolution 类型更改为 Object 类型,但是 VehicleRoutingProblemSolution 具有其他对象字段 PickupService 并且它没有默认构造函数。是的,这个类是不可变的......我无法创建默认构造函数,我该怎么办?

import com.fasterxml.jackson.annotation.JsonProperty;
import com.graphhopper.jsprit.core.problem.solution.VehicleRoutingProblemSolution;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;

@Document(collection = "vrp_solutions")
public class VrpSolutionHolder {
    // Specifies the solution id
    @Id
    @JsonProperty("id")
    private String id;

    // Specifies the solution id
    @JsonProperty("solution")
    private VehicleRoutingProblemSolution vehicleRoutingProblemSolution;

    // Created at timestamp in millis
    @JsonProperty("created_at")
    private Long created_at = System.currentTimeMillis();


    public VrpSolutionHolder(String id, VehicleRoutingProblemSolution vehicleRoutingProblemSolution) {
        this.id = id;
        this.vehicleRoutingProblemSolution = vehicleRoutingProblemSolution;
    }

    public String getId() {
        return id;
    } …
Run Code Online (Sandbox Code Playgroud)

java spring mongodb

3
推荐指数
1
解决办法
6955
查看次数

标签 统计

java ×1

mongodb ×1

spring ×1