可用版本: Dev (3.21) | 最新 (3.20) | 3.19 | 3.18 | 3.17 | 3.16 | 3.15 | 3.14 | 3.13 | 3.12 | 3.11

预加载或延迟加载

适用于 ✅ 开源版   ✅ 专业版   ✅ 企业版

在 jOOQ 中,您始终显式加载数据,而不是通过预加载或延迟加载自动加载数据。两者起初看起来都很有用,但代价高昂,或者说,会增加复杂性。

  • 当您需要数据时,预加载可以防止额外的往返行程,但是当您不需要数据时,却无法轻易避免,因此很可能预加载会产生过多不必要的开销。
  • 当您不需要数据时,延迟加载可以防止不必要的加载,但是当您确实需要数据时,会产生延迟的额外工作(可怕的 N+1 问题)。

在 JPA 生态系统中,很多人提倡使用查询来避免上述问题。 这就是为什么在 jOOQ 中,上述问题不存在的原因,因为您将始终明确指出生成所需数据的确切查询。

反馈

您对此页面有任何反馈吗? 我们很乐意听到您的反馈!

The jOOQ Logo