У меня есть запрос на разбивку по страницам. Я передаю страницу и размер ass? Page = 0 & size = 5. Но не получить никакого результата. Это мой запрос.
@Query(
value = "SELECT *,
( 6371 * acos(
cos( radians(:lat) )
* cos( radians( latitude ) )
* cos( radians( longitude )
- radians(:lng) )
+ sin( radians(:lat) )
* sin( radians( latitude ) ) )
) AS distance
FROM stores
WHERE deleted = '0'
HAVING distance < 20000
ORDER BY distance ?#{#pageable}",
countQuery = "select count(*) from stores where deleted = 0",
nativeQuery = true)
public Page<Stores> getAllNearbyStores(
@Param("lat") double lat,
@Param("lng") double lng,
Pageable pageable
);
Ошибка: у вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с '_binary'¬í\0sr\0 + org.springframework.data.domain.PageRequestÀùPÅÀÇ &\0' в строке 1
@Query(
value = "SELECT *,
( 6371 * acos(
cos( radians(:lat) )
* cos( radians( latitude ) )
* cos( radians( longitude )
- radians(:lng) )
+ sin( radians(:lat) )
* sin( radians( latitude ) ) )
) AS distance
FROM stores
WHERE deleted = '0'
HAVING distance < 20000
ORDER BY distance \n-- #pageable\n",
countQuery = "select count(*) from stores where deleted = 0",
nativeQuery = true)
public Page<Stores> getAllNearbyStores(
@Param("lat") double lat,
@Param("lng") double lng,
@PageableDefault(size = 5) Pageable pageable
);
Необходимо добавить размер по умолчанию в ** @PageableDefault (size = 5). Это решило проблему.
вам нужно добавить \n-- #pageable\n
вместо ?#{#pageable}
Запрос:
@Query(
value = "SELECT *,
( 6371 * acos(
cos( radians(:lat) )
* cos( radians( latitude ) )
* cos( radians( longitude )
- radians(:lng) )
+ sin( radians(:lat) )
* sin( radians( latitude ) ) )
) AS distance
FROM stores
WHERE deleted = '0'
HAVING distance < 20000
ORDER BY distance \n-- #pageable\n",
countQuery = "select count(*) from stores where deleted = 0",
nativeQuery = true)
public Page<Stores> getAllNearbyStores(
@Param("lat") double lat,
@Param("lng") double lng,
Pageable pageable
);
вы можете получить подробную информацию здесь