У меня возникла проблема с тем, чтобы моя переменная работала в моем @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 (именно это и передается). Любые предложения были бы замечательными.
Ваш способ сделать запрос опасным, когда запрос преобразуется, он должен выглядеть так ORDER BY 'some string' DESC вы заметили кавычки? это должно вызвать проблемы




К сожалению, вы можете передавать параметры только в «условные» предложения (например, «где») из-за базовых ограничений JDBC.
Вместо этого рассмотрите возможность использования перегруженный метод PageRequest "of".
public static PageRequest of(int page,
int size,
Sort.Direction direction,
String... properties)
Ах, спасибо за информацию, PageRequest идеально подходит для того, что я хотел
покажите, как вы называете это забавным, вот в чем проблема.