Как получить доступ к Builder () сущности JPA, используя Lombok с Spring Boot? - PullRequest
0 голосов
/ 15 апреля 2019

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

Ответы [ 2 ]

0 голосов
/ 15 апреля 2019

Ваши поля:

private Long id
private String name
private String author

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

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

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

0 голосов
/ 15 апреля 2019

Try by Book b = new Book.builder () .id (id) .name (name) .author ("автор" + title) .build ();

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

...