Я думаю, что это единственный способ скрыть:
@Getter(value=AccessLevel.PRIVATE)
@Setter(value=AccessLevel.PRIVATE)
private Date dob;
или, может быть, лучше с AccessLevel.NONE
, как ответ Кена Чана предлагает
, поэтому переопределяет доступуровень.Однако это не скрывает это от конструкторов.
Также вы можете делать трюки с наследованием.Определите класс как:
public class Base {
// @Getter if you want
private Date dob;
}
и дайте вашему User
расширить это:
@Data
public class User extends Base {
private String first;
private String last;
private String email;
private Boolean active;
}