我想知道是否有一种类似于流API groupingBy收集器的方法。我知道如何选择一列(这个问题被标记为重复的,我不相信它是重复的),我想做一个分组(比如java流API的groupingBy收集器),而不是分组依据。假设您有一张桌子(一张桌子),如下所示:
+---------------------+
+ myTable +
+----------+----------+
+ column_A | column_B +
+----------+----------+
+ 1 | 1 +
+ 1 | 2 +
+ 1 | 3 +
+ 2 | 1 +
+----------+----------+
我想要一些
@Entity
@Table("MyTable")
public class MyEntity {
@Column("column_A")
private int a;
@Column("column_B") ?
private List<Integer> b; //normanly this wuould just be int b, butI want a list of all b's that have the same a
}
像回购一样
public interface MyCrudRepo extends CrudRepository<MyEntity,Integer>{
List<MyEntity> findByA();
}
或
public interface MyCrudRepo extends CrudRepository<MyEntity,Integer>{
@Query("SELECT m.a,m.b FROM MyEntity m")
List<MyEntity> customFind();
}
这不一定是它应该如何看待结束,任何类似的工作都是好的。我已经研究了投影,但所有示例都使用了两个不同的表。
没有一种特定的方法可以使用JPQL完成您需要的工作。相反,您可以使用Hibernate ResultTransex,它允许您将查询结果转换为您需要的任何内容。这是一个代码解决方案,类似于在列表结果中使用Stream API实现分组并返回包含聚合数据的映射。
问题内容: 映射双向列表时,我不了解Hibernate的行为。Hibernate生成的SQL语句对我来说并不是最佳的。有人可以启发我吗? 情况如下:我有一对多的父子关系。我将此关系与双向列表映射。 根据《Hibernate注释参考指南》(第7章:与索引集合的双向关联),映射应如下所示: 但是在这种情况下,Hibernate在保留一个孩子的父母时会产生三个SQL语句: 第三条语句似乎是多余的,因为并
问题内容: 如何在Hibernate中映射整数列表? 像这样: 问题答案: 使用@ElementCollection映射。参阅文件
我对是新手,这就是我要做的。基本上,目标是将数据从Excel加载到SQL Server。有两个列表,一个是键,另一个是值。如何调用这两个列表来运行批处理SQL语句? 这是我到目前为止所拥有的: > < li> 通过这样做,似乎Groovy会将整个列表视为一个大字符串。我可以将列表输出为字符串,并删除单引号,但这似乎并不酷。我们能参数化列表中的字段吗? 对于k列表,我是否需要对所有字段使用单引号,如
问题内容: 有人可以向我展示如何在Hibernate中编写以下SQL并正确获取结果的示例吗? 如果可能的话,我想做的就是将结果放入自己的基类中: 我相信在JPA(使用)中是可能的,但是我还没有弄清楚如何在Hibernate(使用和)中做到这一点。 我试图更好地学习Hibernate,即使这个“简单”查询也令人困惑,无法知道Hibernate以哪种形式返回结果,以及如何将结果映射到我自己的(基)类中
问题内容: 我们有一张有很多列的大桌子。移至MySQL Cluster后,由于以下原因无法创建表: 错误1118(42000):行大小太大。不包括BLOB在内的已使用表类型的最大行大小为14000。这包括存储开销,请查阅手册。您必须将某些列更改为TEXT或BLOB 举个例子: 这是用于存储配置参数的表。我在想,我们可以将一些列合并为一个列,并将其存储为JSON对象,然后将其转换为Java对象。 例