You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于QuerydslJpaPredicateExecutor调用已废弃fetchCount API的问询

确认Spring Data JPA 3.1是否仍在使用QueryDSL 5.0已废弃的fetchCount方法

是的,Spring Data JPA 3.1版本确实仍在使用QueryDSL 5.0及以上版本中已被标记为废弃的fetchCount()方法,相关代码佐证如下:

AbstractJPAQuery.java(QueryDSL端)

...
@Override
@Deprecated
public long fetchCount() {
    try {
        if (getMetadata().getGroupBy().size() > 1 || getMetadata().getHaving() != null) {
            logger.warning("Fetchable#fetchCount() was computed in memory! See the Javadoc for AbstractJPAQuery#fetchCount for more details.");
            Query query = createQuery(null, false);
            return query.getResultList().size();
        }

        Query query = createQuery(null, true);
        return (Long) query.getSingleResult();
    } finally {
        reset();
    }
}
....

QuerydslJpaPredicateExecutor.java(Spring Data JPA端)

...
@Override
public long count(Predicate predicate) {
    return createQuery(predicate).fetchCount();
}
...

从代码中可以明确看到:QueryDSL的fetchCount()方法已被@Deprecated注解标记为废弃,但Spring Data JPA 3.1的QuerydslJpaPredicateExecutor在实现count(Predicate)方法时,依然直接调用了该废弃方法。

内容的提问来源于stack exchange,提问作者Haneul Lee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 21:15:08