Это мой класс сущности. Я использовал аннотацию @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())
            );   

Это показывается.

Метод Builder () не определен для типа Book

0
awesomemypro 15 Апр 2019 в 15:32

2 ответа

Лучший ответ

Попробуйте по Книге b = new Book.builder () .id (id) .name (name) .author ("автор" + заголовок) .build ();

Может быть, вы пытаетесь использовать заголовок, который вы не определили.

1
Adya 15 Апр 2019 в 12:43

Ваши поля:

private Long id
private String name
private String author

И в конструкторе вашего конструктора вы ставите Book.Builder().title(title), заголовок отсутствует в сущности Book, часть "builder ()" должна начинаться с нижнего регистра.

РЕДАКТИРОВАТЬ:

Хорошо, тогда вы можете удалить @AllArgsConstructor, @NoArgsConstructor, @RequiredArgsConstructor и протестировать его.

0
Francesc Recio 15 Апр 2019 в 14:02