diff --git a/backend/src/main/java/edu/zut/bookrider/repository/LibraryRepository.java b/backend/src/main/java/edu/zut/bookrider/repository/LibraryRepository.java index 30fa4f61..c1a93dd9 100644 --- a/backend/src/main/java/edu/zut/bookrider/repository/LibraryRepository.java +++ b/backend/src/main/java/edu/zut/bookrider/repository/LibraryRepository.java @@ -28,11 +28,10 @@ WHERE l.id IN ( WHERE lb.book_id = :bookId ) ORDER BY - (6371 * acos( - cos(radians(:userLat)) * cos(radians(a.latitude)) * - cos(radians(a.longitude) - radians(:userLon)) + - sin(radians(:userLat)) * sin(radians(a.latitude)) - )) ASC + ST_Distance( + ST_SetSRID(ST_MakePoint(a.longitude, a.latitude), 4326)::geography, + ST_SetSRID(ST_MakePoint(:userLon, :userLat), 4326)::geography + ) ASC LIMIT 5 """, nativeQuery = true) List findNearestLibrariesWithBook(