如何使用带有 Spring Boot 的 Lombok 访问 JPA 实体的 Builder()?

How to access Builder() of a JPA entity using Lombok with Spring Boot?

这是我的实体 class。我使用了@Builder 注释。 Lombok版本是1.16.16

@Builder
@AllArgsConstructor
@NoArgsConstructor
@RequiredArgsConstructor
@Data
@Entity
@EqualsAndHashCode
@ToString
public class Book {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    private String name;
    private String author;

}

现在,当我尝试在主 class 中调用 Builder() 方法时,它没有得到解决。

Stream.of("Post one", "Post two").forEach(
                title -> this.booksList.save(Book.Builder().title(title).author("author of " + title).build())
            );   

正在显示。

The method Builder() is undefined for the type Book

试试书 b = 新 Book.builder() .id(id).name(name).author("author of " + title).build();

可能是您正在尝试使用您尚未定义的标题。

您的字段是:

private Long id
private String name
private String author

并且在您的构建器构造函数中放置了 Book.Builder().title(title)Book 实体中缺少标题,"builder()" 部分必须以小写字母开头。

编辑:

好的,那你可以去掉@AllArgsConstructor, @NoArgsConstructor, @RequiredArgsConstructor测试一下