Как проверить большое кол-во параметров объекта включая вложенные?
Есть объект внутри которого так же есть вложенные объекты и даже несколько.(Код для примера, на самом деле и параметров и вложенных объектов больше)
public class Employee {
@Column(name="contract_number")
private String contractNumber;
@Transient
private boolean contractNumberFlag;
@Column(name="status_id")
private Long statusId;
@Transient
private boolean statusIdFlag;
@Column(name="last_name")
private String lastName;
@Transient
private boolean lastNameFlag;
@Column(name="first_name")
private String firstName;
@Transient
private boolean firstNameFlag;
@Column(name="patronymic")
private String patronymic;
@Column(name="branch_code")
private String branchCode;
@Transient
private boolean branchCodeFlag;
@OneToMany(mappedBy="employee")
@JsonManagedReference
@Cascade(value=org.hibernate.annotations.CascadeType.ALL)
private List<EmployeeAddress> employeeAddressesList;
@Transient
private boolean employeeAddressesListFlag;
@OneToMany(mappedBy="employee")
@JsonManagedReference
@Cascade(value=org.hibernate.annotations.CascadeType.ALL)
private List<Visa> visaList;
@Transient
private boolean visaListFlag;
}
На каждый параметр дублируется флаг который говорит о том обновлять это поле в БД или нет.
Как пройти по всей структуре данного объекта включая вложенные и проверить только флаги?
"Миллион" строк if писать не хочется, есть ли способ компактнее? Посмотрел в сторону Рефлексии но и там в данном случае нужно указывать название параметра для того что бы его получить, либо бежать по всем.