我正在使用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类的驱动程序驱动程序属性
系统的一个功能是为特定驱动程序制作月度报告,并在表格中显示每日结果。
所以我从数据库中查询,选择月份和驱动程序。然后我在包含RoadList对象的List中填充结果,因为RoadList类将表映射到数据库中。
使用这种设计模式,我得到一个带有对象的列表,其中属性Driver始终相同,因为该报告仅适用于特定的驱动程序。
是否有更智能的方式来表示数据而没有重复的驱动程序属性?
答案 0 :(得分:2)
这取决于您的代码,但如果您使用的是ORM框架(如Hibernate),则所有bean的驱动程序字段都将指向同一个Driver对象。所以你会有很多引用,但只有一个对象。
如果您要自己动手,请尝试创建一个Driver对象,并在您的bean中重复使用它。