Иерархии классов + lombok работает не особенно хорошо, в том смысле, что операции lombok, выполняемые с вашим Child
классом, ничего не знают о parent.
Тем не менее, ваш конкретный вопрос кажется отвечающим:
Класс Parent
имеет конструктор, который принимает все поля, потому что вы попросили lombok создать этот конструктор через @AllArgsConstructor
. Следовательно, он не имеет конструктора без аргументов. Если вам нужны оба конструктора (тот, который принимает все поля + второй, который не принимает аргументов, a.k.a. конструктор по умолчанию), также добавьте аннотацию @NoArgsConstructor
, чтобы сообщить lombok, что вы этого хотите.
NB: @Builder
также не работает с иерархией, но новая новая функция @SuperBuilder
работает. Я уверен, что вы хотите заменить @Builder
на @SuperBuilder
здесь. SuperBuilder требует, чтобы ВСЕ классы в иерархии были помечены @SuperBuilder
, а не @Builder
.