java - 如何在另一个类的方法中使用一个类的字段名称,这样如果名称更改会出现编译器问题
问题描述
我想将一个 java 类中的字段名引用到另一个类,这样当有人更改基类中的字段名时,我至少会得到编译器错误。
前任:
@Entity
class Employee {
public String userId;
public String timestampCreate;
}
class EmployeeReport {
public Page<Employee> getEmployees() {
return page = employeeJpaRepository.findAll(pageNumber, pageSize,
Sort.by(Sort.Direction.DESC, "timestampCreate"));
}
}
这timestampCreate
是 Employee 类的字段名称。
我不想硬编码列名;因为这是不好的做法,并且希望它能够成为未来的证明,以防字段名称发生变化。例如,如果有人将列名“timestampCreate”更改为“timestamp”,那么至少我希望在 EmployeeReport 类中看到一些编译器错误。
请提出一个想法。谢谢!
注意:我打开这个类似于上一个,因为它被错误地关闭说重复,而如果你能看到标记的答案无处回答我的问题!
解决方案
您不能开箱即用,但可以使用注释或反射。IMO 这些对于这种用例来说是丑陋的解决方案,有关更多详细信息,请参阅以下答案。 Java 中的等价名称