gpt4 book ai didi

java - 如何加快 JPA 中的列表访问速度

转载 作者:行者123 更新时间:2023-11-30 03:48:31 26 4
gpt4 key购买 nike

在我的映射器类中,我总是必须从我的公司实体中检索部门列表:

  @OneToMany(mappedBy = "company", orphanRemoval = true, cascade = CascadeType.ALL)
public List<CompanyDepartments> getDepartments()
{
return departments; //java.util.List variable.
}

有几千个部门(大约2000+)。我正在努力减少获取公司数据所需的时间,并希望从本质上相当静态的部门开始。

选项 1: 我始终可以在映射器中使用一个私有(private)方法,该方法在第一次加载时填充缓存并始终从缓存返回。

但还有更简单的吗?我可能不是第一个面对这个问题的人,我想知道如何解决这个问题。是否有可以使用的已知注释。就像实体中变量的 @Singleton 注释一样? (显然没有这样的注释)。使该列表成为单例的最简单方法是什么?

只是一个典型的 spring mvc 3 应用程序,使用 spring data jpa 进行数据库交互。

最佳答案

我建议这个链接可以解决n+1查询问题... How can i resolve the N+1 Selects problem?

此外,您可以在搜索服务上放置缓存(2级),如果数据在应用程序的生命周期内没有改变。 http://docs.spring.io/spring/docs/3.1.0.M1/spring-framework-reference/html/cache.html

另一种方法是添加到数据库上的索引。

我希望我已经为您提供了有关您问题的所有答案。

关于java - 如何加快 JPA 中的列表访问速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24987298/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com