如何使用带有 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
测试一下
这是我的实体 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
测试一下