【发布时间】:2017-03-08 18:14:09
【问题描述】:
在一个 web 项目中,使用带有 Oracle 数据库的 spring-data(1.10.4.RELEASE),我正在尝试使用带有排序变量的本机查询。
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 and Native Query with pagination,但注释仍然存在,并且使用另一种语法,如 ?#{#sort} 或 {#sort} 问题仍然存在。
什么都可以。
谢谢!
【问题讨论】:
-
您在这里使用本机查询是否有原因? Spring Data JPA 可以自动为您完成所有这些工作,不需要本机查询(甚至是 JPA 查询)。
-
我知道但是查询更复杂,这只是一个示例,唯一的方法是使用本机查询。还是谢谢。
标签: java spring spring-data