【发布时间】:2025-11-30 15:10:01
【问题描述】:
我有一个 Spring Data JPA 存储库接口,看起来像这样:
@Repository
public interface DBReportRepository extends JpaRepository<TransactionModel, Long> {
List<TransactionModel> findAll();
List<TransactionModel> findByClientId(Long id);
}
除了要返回HashMap<K, V> 类型的集合之外,是否有解决方法可以做到这一点?我查看了 Spring Data 类,除了 List 返回值之外找不到任何东西。
【问题讨论】:
-
没有,是什么阻止你自己做?
-
@isah 你的意思是自己为spring数据创建这样一个函数?
-
为自己创建这样一个函数我的意思是,无论你在哪里调用这个存储库,在加载列表后,你都可以使用 Java 8 单线将其映射到
Map。 -
Map is not a supported return type for Spring Data repository methods 所以下面@Patrick 的回答是正确的解决方案。
-
@DenissM.迭代会导致线性时间复杂度,反正你会得到,如果你需要访问每个项目,所以这不是问题:en.wikipedia.org/wiki/Time_complexity
标签: java spring-boot spring-data spring-data-jpa