Mysql
 sql >> база данни >  >> RDS >> Mysql

Каква е алтернативата на клаузата LIMIT в JPQL?

Вие използвате JPQL, който не поддържа ограничаване на резултати като този. Когато използвате роден JPQL, трябва да използвате setMaxResults за ограничаване на резултатите.

Въпреки това използвате Spring Data JPA, което по същество го прави доста лесно да се направи. Вижте тук в справочното ръководство за това как да ограничите резултатите въз основа на заявка. Във вашия случай следният метод find ще направи точно това, което искате.

findFirstByOrderById();

Можете също да използвате Pageable аргумент с вашата заявка вместо LIMIT клауза.

@Query("SELECT s FROM Students s ORDER BY s.id DESC")
List<Students> getLastStudentDetails(Pageable pageable);

След това във вашия код за повикване направете нещо подобно (както е обяснено тук в справочното ръководство).

getLastStudentDetails(PageRequest.of(0,1));

И двете трябва да дадат един и същ резултат, без да е необходимо да се прибягва до обикновен SQL.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Свържете се с MySql db през SSH в Netbeans

  2. 2 начина за конвертиране между десетичен и шестнадесетичен в MySQL

  3. Макс. таблици и модел на дизайн

  4. как да използвам функцията за ляво на низ в hql

  5. mysqli_stmt_get_result алтернатива за php 5.2.6