将派生 JPA 查询转换为本机查询:ORDER BY 不起作用

问题描述

我不得不将几个派生的(基于关键字的)查询转换为相应的本地查询(Postgres sql),并且我注意到 ORDER BY 子句似乎不起作用。以下是两个示例查询

@Query(nativeQuery = true,value =
  "SELECT * from entityOne a LEFT OUTER JOIN entityTwo b on a.field1= b.id " +
    "WHERE b.field2 = 0 AND b.field3 is null ORDER BY b.field4 DESC")
  fun findAllByField3NullAndField2OrderByField4Desc(
    pageable: Pageable
  ): Page<MyEntity>

@Query(nativeQuery = true,value =
  "SELECT * from entityOne a LEFT OUTER JOIN entityTwo b on a.field1= b.id " +
    "WHERE b.field2 = <> 4 AND b.field3 = ?1 ORDER BY b.field4 DESC")
   fun findAllByField3AndField2OrderByField4Desc(
     queue: UUID,pageable: Pageable
  ): Page<MyEntity>

经过多次测试后,我得出的结论是,本机查询似乎不能很好地处理 ORDER BY 子句,这会导致我当前的应用程序出现问题。有没有办法用本机查询来处理它们?任何潜在的选择?我也很乐意将它们转换回派生查询

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)