Я использую Ломбок проекта вместе с Данными 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
Используя @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