私は2つのエンティティを持っています:
- 属性 accountId を含むアカウント
- 属性 runId を持つ ImportRun。ImportRun から Account へは 1 対多 (双方向) の関係があります。
同じ accountId を持つ複数のアカウントが、異なる runId を持つ異なる ImportRun を参照する可能性があります (たとえば、1 日あたり 1 つ)。
特定の一連の accountIds (休止状態のエンティティ キーではなく一種のビジネス キー) の最新の runIds を取得したい、またはさらに良いことに、それぞれが最新の既存の ImportRun を参照する一連のアカウントを取得したい (そのため、この ImportRun の runId は、この accountId を持つアカウントによって参照されるすべての ImportRun の中で最も高い runId を持ちます)。つまり、最新のアカウントを取得したいのです。残念ながら、私はネイティブ SQL を使用できません。JPQLを使用して、指定されたaccountIdを1つだけ使用して、この種のことをすでに行うことができましたが、すべてのrunIdの最大結果を複数の指定されたaccountIdでグループ化する方法がわかりません。
JPQLでこれを行うにはどうすればよいですか?