错误ClientBuilder()在com.company.entities.Client.ClientBuilder中不公开; 无法从外部包裹访问

YCF*_*F_L 4 java entity jpa lombok

我正在使用实体的lombok项目这是我的例子:

package com.company.entities;//<---------Note the package 

import javax.persistence.Entity;
import javax.persistence.Id;
import lombok.Builder; 
import lombok.Getter; 
import lombok.Setter;

@Entity
@Builder
@Getter @Setter @AllArgsConstructor @NoArgsConstructor @ToString
public class Client {

    @Id
    private long id;
    private String firstName;
    private String lastName;

}
Run Code Online (Sandbox Code Playgroud)

因此,当我尝试在同一个包中使用时,它工作正常:

当我将包更改为例如package com.company.controllers;:

package com.company.controllers;//<---------Note the package 

public class Mcve {

    public static void main(String[] args) {
        Client client = new Client.ClientBuilder()
                .id(123)
                .firstName("firstName")
                .lastName("lastName")
                .build();
    }     
}
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

ClientBuilder() is not public in com.company.entities.Client.ClientBuilder; cannot be accessed from outside package
Run Code Online (Sandbox Code Playgroud)

我在这篇文章中尝试了所有解决方案:

我与龙目岛测试1.16.181.16.20.

当我创建自己的构建器类时,它工作正常,但是当我不使用@Builder它时,我知道这意味着什么,但没办法,我无法解决这个问题!我该怎么做才能解决这个问题?

Sim*_*lli 8

您不必实例化构建器.而是使用:

  Client client = Client.builder()
            .id(123)
            .firstName("firstName")
            .lastName("lastName")
            .build();
Run Code Online (Sandbox Code Playgroud)