繁体   English   中英

如何在@Query批注中将方法参数用作纯文本

[英]How to use method parameter as a plain text in @Query annotation

在JPA存储库中,我需要执行本机查询,并且在此本机查询中,我需要能够按列进行排序。 我希望这种方向由此方法的参数之一确定。

这是我要编写的代码,但是不起作用。

@Repository
interface StudentRepository extends JpaRepository<Student, UUID> {

  @Query(
    value = "SEELCT * FROM student ORDER BY student_id :sortOrder"
  )
  Page<Customer> findAllByKeyword(@Param("sortOrder") String sortOrder, Pageable pageable);

}

因此sortOrder可以是ASCDSC

尝试

@Query("SELECT c FROM student c ORDER BY c.student_id :sortOrder")

这里的关键是需要将JPA告诉为nativeQueryPageble 您可以将@query指定为参数

例如:

@Query(value = "SELECT * FROM USERS WHERE LASTNAME = ?1 ORDER BY ?#{#pageable}", nativeQuery = true)
Page<User> findByLastname(String lastname, Pageable pageable);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM