1 対多のデータベース マッピング シナリオで、1 つの部門に複数の従業員がいるとします。DAO 層を設計するためのベスト プラクティスは何ですか?
部門オブジェクトと従業員オブジェクトを取得/設定するための 1 つの汎用 DAO クラス、または部門オブジェクトと従業員オブジェクトをそれぞれ取得/設定するための 2 つの個別の DAO クラス DepartmentDAO と EmployeeDAO を使用する必要がありますか?
1 対多のデータベース マッピング シナリオで、1 つの部門に複数の従業員がいるとします。DAO 層を設計するためのベスト プラクティスは何ですか?
部門オブジェクトと従業員オブジェクトを取得/設定するための 1 つの汎用 DAO クラス、または部門オブジェクトと従業員オブジェクトをそれぞれ取得/設定するための 2 つの個別の DAO クラス DepartmentDAO と EmployeeDAO を使用する必要がありますか?
実際には、少なくとも 3 つの異なる DAO が必要になるように思えます。
DepartmentDAO
EmployeeDAO
EmployeeCollectionDAO
つまり、単一エンティティのマッピングとエンティティ グループのマッピングには大きな違いがあります。したがって、それらは異なる構造で処理する必要があります。そうしないと、SRPに違反するリスクがあります。
また、各インスタンスを個別に操作するのではなく、インスタンスDepartment
のコレクションと操作する必要があります。Employee