私のDAOには、2つの異なるオブジェクトを構築するメソッドがあり、それらの両方のオブジェクトを返したいのですが、それを行う最善の方法がわかりません。を使用して? extends myObject
、返したいオブジェクトの両方を保持する別のクラスを作成し、List<Object>
.
これらの同様のオブジェクトが必要な理由についての簡単な話は、1つを画面に表示し、もう1つを私が知る限りオブジェクト内のリストを処理しないprimefaces dataexporterで使用することです。
クラスの人
public class Person() {
firstName = null;
lastName = null;
List<Programs> programs = new ArrayList<Programs>();
// Getters and setters
}
クラス DataExporterPerson
public class DataExporterPerson() {
firstName = null;
lastName = null;
String program = null;
// Getters and setters
}
DAO メソッド:
public List<SOMETHING> getPeople() {
// query db for people
// build both objects
return ?????
}
以下のような別のオブジェクトを非常に簡単に作成できることを理解しましたが、基本的に1つのメソッドから戻るためだけにオブジェクトを作成しているため、それは非効率的な方法のようです。
public class PersonTransporter() {
Person person = null;
DataExporterPerson = null;
}
このシナリオを処理する最善の方法は何ですか?
編集
1 つのメソッドで 2 つのオブジェクトを返そうとしているのは、これがデータベースにクエリを実行し、クエリのデータに基づいて 2 つのオブジェクトを構築する DAO メソッドであるためです。必要がなければ db を 2 回クエリしたくないので、2 つのメソッドに分割したくありません。