当前位置:  开发笔记 > 编程语言 > 正文

在JPA查询中排序返回Child对象

如何解决《在JPA查询中排序返回Child对象》经验,为你挑选了1个好方法。

因此,如果我的JPA查询是这样的:从父p中选择不同的p通过p.someProperty从左边连接获取p.children顺序

我正确地得到了p.someProperty排序的结果,并且我正确地获取并填充了我的p.children集合.但我希望我的查询类似于"按p.someProperty,p.children.someChildProperty排序",以便填充每个父对象内部的集合由someChildProperty进行子排序.

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



1> Adeel Ansari..:

要保留顺序,请使用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集合.

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有