gpt4 book ai didi

spring-data - 使用 Spring Data 设置获取大小

转载 作者:行者123 更新时间:2023-12-04 03:06:33 25 4
gpt4 key购买 nike

对于大型结果集,增加获取大小很重要。关于如何设置 Spring 的 JdbcTemplate 的 fetch 大小已经有很多讨论。 .但是,我们通常使用 Spring Data 进行数据库访问。假设我们使用 JPA 和 Hibernate 作为提供者,我如何设置 Spring Data 查询的获取大小?

最佳答案

这取决于您要设置的内容。如果你想要它全局,只需将它作为一个属性添加到你的 persistence.xml(或者你的配置方式 EntityManagerFactory 是什么)。对于休眠,这意味着添加 hibernate.jdbc.fetch_size属性(property)。

<property name="hibernate.jdbc.fetch_size" value="50" />

如果要为某些查询指定它,请在 Query 对象上使用来自 JPA 的查询提示。
TypedQuery<Foo> q = em.createTypedQuery("some hql here", Foo.class);
q.setHint("org.hibernate.fetchSize", "100");

或者在使用 Spring Data JPA 时使用 @QueryHints接口(interface)方法上的注释。可以应用于有和没有 @Query 的两种方法.
@QueryHints(@javax.persistence.QueryHint(name="org.hibernate.fetchSize", value="50"))
List<Foo> findAll();

链接
  • 休眠 documentation
  • Spring Data JPA reference | javadoc
  • JPA 2 查询提示 javadoc
  • List of query hints休眠
  • 关于spring-data - 使用 Spring Data 设置获取大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20284503/

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