当前位置: 首页 > 面试题库 >

JPA查询中子对象的排序返回

臧翰采
2023-03-14
问题内容

因此,如果我的JPA查询是这样的:从“父项”左侧选择不同的“ p”,然后按“ p.someProperty”获取“ p.children”的顺序

我正确地将结果按p.someProperty重新排序,并且正确地获取并填充了我的p.children集合。但是我想让查询类似于“按p.someProperty,p.children.someChildProperty排序”,以便每个父对象内部填充的集合由someChildProperty排序。

当我考虑针对这些调用实际生成的sql时,这似乎很直观,但是当它尝试映射回分层对象时,我想的就更少了。


问题答案:

要保留顺序,请使用TreeSet。就父内部的集合排序而言,只需使用Comparator在代码中进行即可。

好吧,在父实体类中的集合定义上尝试一下。我希望你明白我的意思。

您可以使用此JPA批注,

@javax.persistence.OrderBy(value = "fieldName")

或特定于hibernate的

@org.hibernate.annotations.OrderBy(clause = "FIELD_NAME asc")

你也可以用这个

@org.hibernate.annotations.Sort(type = SortType.NATURAL)

要么

@org.hibernate.annotations.Sort(type = SortType.COMPARATOR)

对于比较器,必须有一个比较器。其他可能仅适用于String集合。



 类似资料:
  • 在调试中,我得到visitreport.size()=27(即正确的记录计数),但是 visit.getValue()对于每行都是空值,尽管每个行的这个字段中没有空值。怎么了?

  • 问题内容: 我们正在开发一个使用EJB连接到数据库的Web应用程序。 在我们的数据库模型中,我们有一个移动设备表,另一个有功能表,最后一个有手机模型映射功能值的表。模型(id_model,…)功能(id_feature,…)model_features(id_model,id_feature,值) 我们想要执行一个查询,以按匹配特征的数量对模型进行排序。就是说,我们传递了一个要匹配的功能列表(即从

  • 问题内容: 我在此处查看了Tim Hall的精彩文章,该文章允许您使用自引用实体并使用Oracle中的CTE语法显示分层数据(从顶级节点开始,然后递归返回)。 所以我有看起来像这样的代码: 对于锚行(SQL中的顶层层次结构J1条目,其父级为NULL),我想: 对于递归联接: 如果尝试在UNION ALL语句上方添加ORDER BY语句,则会得到某种无效的SQL语法。 您如何解决此问题,以便最后按层

  • 日安: 我目前有以下结构索引<代码>学校- 谢了。

  • 我有一个类Api,它包含一个数据列表:

  • 问题内容: 我在我的项目中使用spring data JPA。我正在玩数百万条唱片。我有一个要求,我必须获取各种表的数据并构建一个对象,然后将其绘制在UI上。现在如何实现我的Spring数据存储库。我读过它可以通过命名本机查询来实现。 如果命名的本机查询未返回实体或实体列表,则可以使用@SqlResultSetMapping批注将查询结果映射到正确的返回类型。 但是,当我尝试使用它时,将采用另一个