2013-03-13 63 views
0

我正在开发一个使用Java和数据库查询的基于Web的系统。如何摆脱Java Bean对象列表中的重复值

我有一个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; 
} 

在我的案件中最重要的部分是Driver驱动,RoadList类系统的

一个功能是属性制作特定驱动程序的月度报告,并将每日结果显示在表格中。

所以我从数据库中查询,选择月份和驱动程序。然后,我将结果填充到包含RoadList对象的List中,因为RoadList类映射数据库中的表。

使用此设计模式,我得到一个对象列表,其中属性Driver总是相同的,因为报告仅用于特定的驱动程序。

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

回答

2

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

如果您正在自行设计,请尝试创建一个Driver对象,并在您的bean中重用它。

+1

+1 hibernate是要走的路 – Dangerosking 2013-03-13 16:00:44