Spring Data和使用原生查询进行排序

6
在一个使用Oracle数据库的web项目中,使用spring-data(1.10.4.RELEASE)时,我尝试使用带有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);
}

发起的查询为:

SELECT * FROM USERS WHERE LASTNAME = 'Lorite' #sort ORDER BY LASTNAME

如您所见,注释“#sort”仍然存在。

我已经尝试过Spring Data和本地查询分页,但是注释仍然存在,使用另一种语法,如?#{#sort}或{#sort},问题仍然存在。

欢迎任何建议。

谢谢!


1
你在这里使用本地查询的原因是什么?Spring Data JPA可以自动完成所有这些操作,不需要使用本地查询(甚至不需要使用JPA查询)。 - Jesper
我知道,但查询更复杂,这只是一个例子,唯一的方法是使用本地查询。无论如何,谢谢。 - Dlorite
2个回答

4

1
根据这个链接 http://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods.at-query,你可以使用本地查询并像这些人们 https://dev59.com/0loT5IYBdhLWcg3wngq1 所说的那样使用排序。 - Dlorite

-1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接