4

我在 EclipseLink 2.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使用JOINand obj.group.memberswith INor获得EXISTS

还是它们都必须相同?

实际应用是在嵌套集合上进行提取,在不同级别可能存在不同的基数。例如,对于初始查询,可能会返回数千行,因此我无法使用“IN”forobj.collection1而不会破坏 Oracle 对 IN 子句的语法限制。另一方面,因为obj.group.members可能只有几个不同的值,group所以 IN 子句会更有意义。

4

0 回答 0