java - 如何消除 Java Bean 对象列表中的重复值

标签 java database jakarta-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类Driver驱动程序属性

系统的一个功能是为特定驾驶员制作月度报告,并在表格中显示每日结果。

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

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

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

最佳答案

这取决于您的代码,但如果您使用 ORM 框架(例如 Hibernate),所有 bean 的驱动程序字段将指向同一个 Driver 对象。因此,您将拥有许多引用,但只有一个对象。

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

关于java - 如何消除 Java Bean 对象列表中的重复值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15390147/

相关文章:

java - 在 Java 中强制输入有效

java - Java 中文本文件中的二分查找整数

c# - 使用for循环删除数据库中的数据

java - 解析 Set-Cookie header 的 firefox 源代码的位置?

Tomcat 在同一端口下运行两个 Web 模块

java - 如何创建 JAR 文件

java - 单元测试时静态元模型属性为空

mysql - 查询小调查做基准测试

mysql - 部分结果的等于运算符

javascript - jQuery 更改文本框值不起作用