我想编写一个通用函数,该函数接受相同实体类的两个对象并比较不同的字段,并返回随时间对特定字段所做的所有更改的列表.
在众多实体类别中,有一个可以说是会员,如下所示
public class Member {
String firstName;
String lastName;
String driverLicenseNumber;
Integer age;
LocalDateTime timestamp;
}
在数据库中,我有一个名为member_audit的表,只要使用触发器在成员表中进行了更改(对于其他实体类似),该表就会填充旧数据.
我将要返回的每个实体的资源列表类似于
public class MemberAuditsResource {
private String field;
private LocalDateTime on;
private String changeType;
private String oldValue;
private String newValue;
}
我只能想到像这样分别为每个实体编写函数
private List memberCompare(Member obj1, Member obj2) {
//Compare every field in both the objects using if else and populate the resource.
}
然后调用上面的函数来比较entity_audit表中的每对记录.
该代码将非常大,无法比较每个字段并乘以不同的实体.
有没有更好更好的方法?