EclipseLink2.3.2にJPA/JPQLクエリがあり、複数のコレクションにバッチフェッチクエリヒントを提供しています
hints={
@QueryHint(name=QueryHints.BATCH, value="obj.collection1"),
@QueryHint(name=QueryHints.BATCH, value="obj.group.members"),
@QueryHint(name=QueryHints.BATCH_TYPE, value="IN"),
}
またはで取得できるようobj.collection1
に、さまざまなコレクションでさまざまなバッチフェッチタイプを指定する方法はありJOIN
ますか?obj.group.members
IN
EXISTS
それとも、それらはすべて同じである必要がありますか?
実際のアプリケーションは、ネストされたコレクションのフェッチを使用すると、さまざまなレベルでさまざまなカーディナリティが存在する可能性があることです。たとえば、最初のクエリでは、何千もの行が返される可能性があるためobj.collection1
、IN句のOracle構文の制限を破ることなく、「IN」を使用することはできませんでした。一方、のobj.group.members
値は数個しかないgroup
ため、IN句の方が理にかなっています。