我正在使用 Java 和数据库查询开发一个基于 Web 的系统。
我有一个 bean 类,表示数据库中一个表中的行 - RoadList。
以下是该类的结构:
public class RoadList
{
private String roadListNumber;
private DateTime date;
private String vehicleId;
private Driver driver;
private int startKm;
private int probegKm;
private int endKm;
private int palenProbegKm;
private DateTime startTime;
private DateTime endTime;
private BigDecimal driverWorkTime;
private BigDecimal workTimeObekt;
private BigDecimal chasoveRazhod;
private int mcm;
private BigDecimal tkm;
private BigDecimal fualNalichnost;
private int fuelFill;
private int fuelGps;
private int fuelOstatak;
private String zabelejka;
private List<CargoPlace> cargoPlaces;
}
在我的例子中最重要的部分是RoadList类的Driver驱动程序属性
系统的一个功能是为特定驾驶员制作月度报告,并在表格中显示每日结果。
所以我从数据库中查询,选择月份和司机。然后,我将结果填充到包含 RoadList 对象的列表中,因为 RoadList 类映射数据库中的表。
使用此设计模式,我得到一个包含对象的列表,其中属性 Driver 始终相同,因为该报告仅适用于特定驱动程序。
是否有更智能的方式来表示数据而不需要重复的驱动程序属性?
最佳答案
这取决于您的代码,但如果您使用 ORM 框架(例如 Hibernate),所有 bean 的驱动程序字段将指向同一个 Driver 对象。因此,您将拥有许多引用,但只有一个对象。
如果您正在滚动自己的,请尝试创建一个 Driver 对象,并在您的 bean 中重用它。
关于java - 如何消除 Java Bean 对象列表中的重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15390147/