0

私はJavaとデータベースクエリを使用してWebベースのシステムを開発しています。

データベース内のテーブルの1つであるRoadListの行を表すBeanクラスがあります。

クラスの構造は次のとおりです。

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ドライバー属性です。

システムの機能の1つは、特定のドライバーの月次レポートを作成し、日次の結果をテーブルに表示することです。

そこで、データベースからクエリを実行し、月とドライバーを選択します。次に、RoadListクラスがデータベース内のテーブルをマップするため、結果をRoadListオブジェクトを含むリストに入力します。

このデザインパターンを使用すると、レポートが特定のドライバーのみを対象としているため、属性Driverが常に同じであるオブジェクトのリストを取得します。

繰り返しドライバー属性を持たずにデータを表現するためのよりインテリジェントな方法はありますか?

4

1 に答える 1

2

コードによって異なりますが、HibernateなどのORMフレームワークを使用している場合、すべてのBeanのドライバーフィールドは同じDriverオブジェクトを指します。したがって、多くの参照がありますが、単一のオブジェクトがあります。

独自にローリングする場合は、Driverオブジェクトを作成し、Bean内で再利用してみてください。

于 2013-03-13T15:57:49.767 に答える