【问题标题】:How to access Builder() of a JPA entity using Lombok with Spring Boot?如何使用带有 Spring Boot 的 Lombok 访问 JPA 实体的 Builder()?
【发布时间】:2019-04-15 12:32:31
【问题描述】:

这是我的实体类。我使用了@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;

}

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

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

正在显示。

没有为 Book 类型定义方法 Builder()

【问题讨论】:

    标签: java spring spring-boot jpa lombok


    【解决方案1】:

    按书试试 b = new Book.builder() .id(id).name(name).author("作者" + title).build();

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

    【讨论】:

      【解决方案2】:

      您的字段是:

      private Long id
      private String name
      private String author
      

      在您的构建器构造函数中,您将Book.Builder().title(title)标题丢失在 Book 实体中,部分“builder()”必须以小写开头。

      编辑:

      好的,那你可以删除@AllArgsConstructor, @NoArgsConstructor, @RequiredArgsConstructor并测试一下。

      【讨论】:

      • 纠正这些不会改变任何事情。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-07-04
      • 2023-03-28
      • 1970-01-01
      • 2018-09-16
      • 2016-01-12
      • 2023-04-05
      • 2015-09-01
      相关资源
      最近更新 更多