doc.dev1x.org

Query Object

1. 目的

2. 課題

動的な検索条件を素朴に実装すると問題が多発する

3. 解決策

Criteria オブジェクトの導入

4. メリット

Repository のインタフェースが安定する

動的条件の組み立てが自然に書ける

ページング・ソートを一元管理できる

権限による絞り込みをレイヤーで分離できる

テストがしやすい

URL パラメータとの親和性が高い

5. デメリット

シンプルな検索には過剰

Criteria が肥大化しやすい

学習コストがある

複雑な JOIN には限界がある

6. 注意事項

適用範囲を絞る

Criteria の肥大化を防ぐ

ユーザーが自由にクエリを組み立てるのとは別物

パフォーマンスを意識する

段階的に導入する

参考資料