如何摆脱Java Bean对象列表中的重复值

时间:2013-03-13 15:53:53

标签: java database java-ee javabeans

我正在使用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始终相同,因为该报告仅适用于特定的驱动程序。

是否有更智能的方式来表示数据而没有重复的驱动程序属性?

1 个答案:

答案 0 :(得分:2)

这取决于您的代码,但如果您使用的是ORM框架(如Hibernate),则所有bean的驱动程序字段都将指向同一个Driver对象。所以你会有很多引用,但只有一个对象。

如果您要自己动手,请尝试创建一个Driver对象,并在您的bean中重复使用它。