J2EE/JPA/Spring 3 アプリケーションを作成し、純粋な JPA 2.0 を維持しようとしています。明らかに高価な操作であるため、子オブジェクトをロードせずにカウントを取得したいと考えています。たとえば、ここに単純化された例があります
Organisation
- OrgID
- OrgName
Employee
- EmployeeID
- OrgID (key to Organisation table)
- EmployeeName
jsp ページで、すべての組織のリストと、従業員自身を読み込まずに従業員数を表示したいと考えています。すべての Organization オブジェクトをロードし、何らかの形で Employee オブジェクトのカウントをロードする単一のデータベース ヒットである場合、それは素晴らしいことです。組織を一覧表示するためのクエリを 1 つ避け、組織ごとに 1 つのクエリを使用して従業員をカウントすることは避けたいと思います。カウントを保持するために一時的なプロパティを追加できると思いますが、それを行う最善の方法がわかりません。
規模の目安としては、約 50 の組織があり、各組織には 0 ~ 500 人の従業員がいます。JPAプロバイダーを一度変更したことがあり、再び変更される可能性があるため、実装固有の拡張機能は避けたいと思います。
SQL では結合、グループ化、およびカウントを行うだけですが、JPA でそれを行う方法がわかりません。どんな助けでも大歓迎です!