延迟加载 Spring Data JPA 存储库

Posted

技术标签:

【中文标题】延迟加载 Spring Data JPA 存储库【英文标题】:Lazy loading Spring Data JPA repositories 【发布时间】:2013-11-02 08:34:56 【问题描述】:

我们有 很多 个通过接口扩展 JpaRepository 模式定义的存储库。在对我们的应用程序运行集成测试或某些入口点时,我们只需要这些存储库中的一小部分。

我们可以延迟加载实际的存储库实现吗?

类似于@Bean 上的@Lazy 的东西?注意:我至少尝试过用@Lazy 注释存储库接口的幼稚解决方案,但无济于事。

【问题讨论】:

【参考方案1】:

即使这是一个非常古老的问题,我想有些人可能仍然想知道 @Lazy 在 Spring Data 存储库中的使用:

实际上是从v1.5.0开始支持的

【讨论】:

对 >v1.10.2 仍然适用吗?因为我的存储库没有被延迟初始化,即使使用 @Lazy 注释。【参考方案2】:

延迟加载将避免根据您的主表或请求获取所有其他依赖项。在您的情况下,您应该为这种操作设置一个限制/偏移量。

【讨论】:

以上是关于延迟加载 Spring Data JPA 存储库的主要内容,如果未能解决你的问题,请参考以下文章

Spring Data JPA - 在没有 @Transactional 的情况下获取延迟加载的集合

Spring JPA 延迟加载 - 无法初始化代理

在 Spring Boot jpa 中将延迟加载的对象转换为 JSON

延迟加载有效,但不应该

Spring boot JPA - 延迟加载不适用于一对一映射

Spring data jpa JavassistLazyInitializer 不仅是Json序列化问题.以及解决办法