「会員」テーブルの子テーブルとして「購入」がいるとします。
「50000円以上の高額物件を買ったことのある会員の一覧」
を検索する場合は:
MemberCB cb = new MemberCB();
cb.query().existsPurchaseList(new SubQuery<PurchaseCB>() {
public void query(PurchaseCB subCB) {
subCB.query().setPurchasePrice_GreaterEqual(50000);
}
});
MemberCB cb = new MemberCB();
cb.Query().ExistsPurchaseList(delegate(PurchaseCB subCB) {
subCB.Query().SetPurchasePrice_GreaterEqual(50000);
});
select ...
from MEMBER
where exists (
select MEMBER_ID
from PURCHASE
where MEMBER_ID = MEMBER.MEMBER_ID
and PURCHASE_PRICE >= 50000
)
こんな感じです。
「子テーブルで絞り込み」って実は実業務では
頻度の高い条件です。サクサクっと安全に実装したいものです。
(IDEの補完機能を使うと結構楽に書けます)