4

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.membersINEXISTS

それとも、それらはすべて同じである必要がありますか?

実際のアプリケーションは、ネストされたコレクションのフェッチを使用すると、さまざまなレベルでさまざまなカーディナリティが存在する可能性があることです。たとえば、最初のクエリでは、何千もの行が返される可能性があるためobj.collection1、IN句のOracle構文の制限を破ることなく、「IN」を使用することはできませんでした。一方、のobj.group.members値は数個しかないgroupため、IN句の方が理にかなっています。

4

0 に答える 0