对于属于另一个实体类型的实体字段,我对此注释感到困惑:
@BatchFetch(value = BatchFetchType.JOIN)
在 EclipseLink for BatchFetch 的文档中,他们解释如下:
例如,考虑具有 EMPLOYEE 和 PHONE 表的对象,其中 PHONE 具有指向 EMPLOYEE 的外键。默认情况下,读取员工地址列表默认需要 n 次查询,针对每个员工的地址。通过批量提取,您可以对所有地址使用一个查询。
但我对指定的含义感到困惑BatchFetchType.JOIN
。我的意思是,BatchFetch 在检索与员工关联的记录列表时不会加入吗?地址/电话类型的记录是使用外键检索的,所以它本身就是一个连接,对吧?
BatchFetch 类型是一个可选参数,对于 join 来说:
JOIN – 原始查询的选择条件与批处理查询连接
这是什么意思?批量查询不是连接本身吗?