Как проверить большое кол-во параметров объекта включая вложенные?

Есть объект внутри которого так же есть вложенные объекты и даже несколько.(Код для примера, на самом деле и параметров и вложенных объектов больше)

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 писать не хочется, есть ли способ компактнее? Посмотрел в сторону Рефлексии но и там в данном случае нужно указывать название параметра для того что бы его получить, либо бежать по всем.


Ответы (0 шт):