通常は、DAO クラスが完全に依存するように DAO クラスを構築しようとします。複数のテーブルと対話できますが、データがベース オブジェクトに関連している場合のみです。たとえば、予定オブジェクトがあり、予定 DAO が予定テーブルからデータを取得するとします。予定テーブルが、予定をサービスにバインドする外部キーであるサービス ID である場合、1 つの列を考えてみましょう。サービス テーブルは予定から完全に独立しており、ユーザーがサービスを追加または削除できる独自の DAO を持っています。
予定オブジェクトには、サービス オブジェクトを格納するためのサービス フィールドがあります。これを行ったのは、多くの場合、ビューで予定を処理するときにこのサービス オブジェクトを参照する必要があるためです。
予約 DAO では、別の SQL ステートメントを記述してテーブルからサービス データを取得し、これらすべてを予約 DAO に再マッピングすることができますが、これらはすべてサービス DAO で既に行われており、serviceDao.find を呼び出すのと同じくらい簡単です。 (サービス ID)。予約DAO内でサービスDAOを参照するのは少し汚い気がします。これは設計上の問題があるためですか、それともこの種のことを行っても問題ありませんか? この問題を調査してみましたが、結果は 50/50 です。