[英]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
可以是ASC
或DSC
。
尝试
@Query("SELECT c FROM student c ORDER BY c.student_id :sortOrder")
这里的关键是需要将JPA告诉为nativeQuery
和Pageble
。 您可以将@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.