JPQL 查询 - 按嵌套字段排序
JPQL query- order by nested field
给定一个 class OP
public class OP {
String name;
int rank;
}
和一个class D
public class D {
OP parameter;
}
用 JPQL 编写的查询应该如何列出按 OP
class 的 rank
字段排序的 D
class 的实例。对 OP
对象具有空引用的实例必须列在末尾。
经过一些测试后,我设法让事情正常进行。这就是我用 Spring Repository
:
实现它的方式
@Repository
public interface DRepository extends CrudRepository<D, Long> {
@Query("select d from D d left outer join d.parameter op order by op.rank desc")
List<D> getDs();
}
注意 left outer join
包括 D
具有空 parameter
字段的实例和 order by
子句之后的 desc
强制实例具有空 OP
到列表末尾。
给定一个 class OP
public class OP {
String name;
int rank;
}
和一个class D
public class D {
OP parameter;
}
用 JPQL 编写的查询应该如何列出按 OP
class 的 rank
字段排序的 D
class 的实例。对 OP
对象具有空引用的实例必须列在末尾。
经过一些测试后,我设法让事情正常进行。这就是我用 Spring Repository
:
@Repository
public interface DRepository extends CrudRepository<D, Long> {
@Query("select d from D d left outer join d.parameter op order by op.rank desc")
List<D> getDs();
}
注意 left outer join
包括 D
具有空 parameter
字段的实例和 order by
子句之后的 desc
强制实例具有空 OP
到列表末尾。