複数のデータベース・オブジェクトを照会する 1 つの SELECT ステートメントで、複数の Bean を戻すには、以下のようにします。
以下のステートメントを実行する際、Contact Bean に最初の表の結果を、Person Bean に 2 番目の表の結果を戻すとします。
select CONTACTTABLE.IDNUMBER, PERSONTABLE.SSN from CONTACTTABLE, PERSONTABLE
以下のように、汎用クラス ContactAndPerson を定義できます。
public class ContactAndPerson<C, P> extends LinkedList{}
Contact Bean と Person Bean のすべてのペアを Iterator オブジェクトに配置することにします。そのためには、以下のように戻りの型を定義します。
@Select(sql = "select CONTACTTABLE.IDNUMBER, PERSONTABLE.SSN from CONTACTTABLE, PERSONTABLE") Iterator<ContactAndPerson<Contact, Person>> selectFromContactPerson ();