Ломбок: RequiredArgsConstructor не работает
кажется,@RequiredArgsConstructor
не работает в коде ниже. Почему?
import java.io.Serializable;
import lombok.Data;
import lombok.RequiredArgsConstructor;
@Data
@RequiredArgsConstructor
public class User implements Serializable {
private String username;
/*public User(String username) {
this.username = username;
}*/
private static final long serialVersionUID = 8043545738660721361L;
}
Я получаю сообщение об ошибке:
javax.faces.el.EvaluationException: java.lang.Error: Unresolved compilation problem:
The constructor User(String) is undefined
по какой-то причине кажется, что он работает для другого класса домена, в котором не определен конструктор, но вместо этого используется @RequiredArgsConstructor
Примечание.
2 ответов
по данным документация, Обязательными аргументами являются конечные поля и поля с ограничениями, такими как @NonNull.
вам нужно сделать имя пользователя как @NonNull
@NonNull private String username;
и вы должны сделать их окончательными тоже.
также стоит отметить, для будущих читателей, что @Data предоставляет @RequiredArgsConstructor, поэтому использование обеих аннотаций не требуется :)