Spring Data 和 Native Query with Sorting

Dlo*_*ite 6 java spring spring-data

在 web 项目中,使用 spring-data(1.10.4.RELEASE) 和 Oracle 数据库,我尝试使用带有 Sort 变量的本机查询。

public interface UserRepository extends JpaRepository<User, Long> {
  @Query(nativeQuery = true,value = "SELECT * FROM USERS WHERE LASTNAME = :lastname #sort")
  List<User> findByLastname(@Param("lastname") String lastname, Sort sort);
}
Run Code Online (Sandbox Code Playgroud)

启动的查询是:

SELECT * FROM USERS WHERE LASTNAME = 'Lorite' #sort ORDER BY LASTNAME
Run Code Online (Sandbox Code Playgroud)

就像您可以看到注释“#sort”仍然存在一样。

我已经尝试过带有分页的 Spring Data 和 Native Query,但注释还在那里,并且使用另一种语法,如 ?#{#sort} 或 {#sort} 问题仍然存在。

什么都欢迎。

谢谢!

Luc*_*ira 4

文档说:

\n\n
\n

请注意,我们目前不支持对本机查询执行动态排序,因为我们必须操作声明的实际查询,而我们无法对本机 SQL 可靠地执行此操作。

\n
\n\n

此外,这个#sort插值不存在

\n\n

[1] http://docs.spring.io/spring-data/jpa/docs/current/reference/html/

\n