Only one of these methods should apply for your application
а тот же самый запрос, с теми же параметрами, но без процедуры - отрабатывает?
DROP PROCEDURE IF EXISTS `get_nearest_shops`;
DELIMITER //
CREATE PROCEDURE get_nearest_shops(
IN p_lat DOUBLE,
IN p_lng DOUBLE,
IN p_radius DOUBLE)
BEGIN
DECLARE sign_after_point INT(10) DEFAULT 3;
SELECT
id, name, category, ROUND((
1000 * 6371 * ACOS (
COS ( RADIANS(p_lat) )
* COS( RADIANS( latitude ) )
* COS( RADIANS( longitude ) - RADIANS(p_lng) )
+ SIN ( RADIANS(p_lat) )
* SIN( RADIANS( latitude ) )
)
), sign_after_point) AS distance, latitude, longitude, (SELECT name FROM localities WHERE id = locality_id) AS locality, locality_id
FROM shops
HAVING distance < p_radius
ORDER BY distance;
END;//
Поля sinus i cosinus добавятся скорее всего потому что они аннотированы @Table
вы разрешаете hibernate генерировать схему
Toт pojo, в который вы собираете результаты, не должен быть entity, если он не представляет собой таблицу в БД.
.addEntity(/* ... */)
.addEntity(ShopsPlus.class)
query.list();
я пишу в обычный List. Тогда могу предложить отдельное приложение для хранения и отдачи статики, например REST сервис. Один раз написали и забыли, а основное приложение можете редеплоить сколько душе угодно.
Вот оно - решение! Спасибо)