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

为何DefaultProjectionInformation.collectDescriptors()会忽略默认方法?

关于Spring Data中DefaultProjectionInformation忽略默认方法的疑问

我在使用Spring Data MongoDB执行带投影的查询时遇到一个问题:DefaultProjectionInformation在获取描述符时会忽略接口中的默认方法,导致投影无法包含对应字段,最终查询返回的结果缺失这些字段。

相关流程的代码表现如下:在投影解析环节,introspectProjection会忽略带有默认方法的字段,后续生成查询字段列表时自然也会丢失这些字段:

// 忽略了带有默认方法的字段
EntityProjection<T, S> projection = operations.introspectProjection(targetClass, sourceClass);

// ...

// 由于投影缺失字段,现在得到了不完整的字段列表
Document mappedFields = queryContext.getMappedFields(entity, projection);

// ...

我已经查阅过相关的PR和Issue,但没有找到关于这个设计的明确原因说明,想请教为什么要在获取投影描述符时忽略默认方法?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 06:58:09