我在让变量在@Query中工作时遇到问题。下面是代码
@Query("SELECT new User(userId, userEmail, userForename, userSurname, userMiddleName) "
+ "FROM User "
+ "ORDER BY :orderBy DESC")
public List<User> findAllBy(@Param("orderBy") String orderBy);
我知道我想要的变量已正确传递。目前,这只是返回userId排序的所有结果。如果我对要传递给此函数的值进行硬编码,那么它将正确返回userEmail排序的结果(即传递的结果)。任何建议都会很棒。
答案 0 :(得分:1)
不幸的是,由于底层的JDBC限制,您只能将参数传递给“条件”子句(如“ where”)。
与其考虑使用overloaded PageRequest "of" method。
public static PageRequest of(int page,
int size,
Sort.Direction direction,
String... properties)