首页 > 解决方案 > 有没有办法使用 Spring JPA/Hibernate 将查询的 1 列映射到集合

问题描述

我想知道是否有办法做类似 Stream API groupingBy Collector 的事情。我知道选择一列很热门(问题被标记为重复,我不相信它是)我想做一个分组(如 java Stream API 的 groupingBy 收集器)而不是 group By。假设您有一张表(一张表),例如:

+---+---+
+ A | B +
+---+---+
+ 1 | 1 +
+ 1 | 2 +
+ 1 | 3 +
+ 2 | 1 +
+---+---+

我想有类似的东西

@Entity
public class MyEntity {
  private int a;
  private List<Integer> b;
}

有一个像这样的回购

public interface MyCrudRepo extends CrudRepository<MyEntity,Integer>{
  List<MyEntity> findByA();
} 

或者

public interface MyCrudRepo extends CrudRepository<MyEntity,Integer>{
  @Query("SSELECT m.a,m.b FROM MyEntity m")
  List<MyEntity> customFind();
} 

这不一定是最终的样子,任何与此类似的工作都可以。我研究了预测,但所有示例都使用 2 个不同的表。

标签: javaspringhibernatejpa

解决方案


推荐阅读