Ломбок @Builder и Конструктор по умолчанию JPA

Я использую Ломбок проекта вместе с Данными Spring JPA. Есть ли любой способ соединить Ломбок @Builder с конструктором по умолчанию JPA?

Код:

@Entity 
@Builder
class Person {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
}

Насколько я знаю, что JPA нужен конструктор по умолчанию, который переопределяется @Builder аннотация. Есть ли какое-либо обходное решение для этого?

Этот код дает мне ошибку: org.hibernate.InstantiationException: No default constructor for entity: : app.domain.model.Person

59
задан 12 December 2015 в 18:44

1 ответ

Используя @NoArgsConstructor и @AllArgsContructor поможет решить проблему наличия конструктора по умолчанию с @Builder.

, например,

@Entity 
@Builder
@NoArgsConstructor
@AllArgsContructor
class Person {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
}

Это вызвано тем, что @Builder требует всего конструктора аргумента и определения, что только конструктор по умолчанию вызовет проблему.

Вот nore explaination: https://github.com/rzwitserloot/lombok/issues/1389#issuecomment-369404719

0
ответ дан 1 November 2019 в 11:54

Другие вопросы по тегам:

Похожие вопросы: