Гибернация MySQL Haversine

#mysql #hibernate

#mysql #спящий режим

Вопрос:

Я пытаюсь использовать формулу Haversine. В идеале я хотел бы использовать Hibernate provider с JPA и MySQL. Это следующий запрос, который я использую, который, по-видимому, работает в MySQL.

SELECT campusid, ( 3959 * acos( cos( radians(37) ) * cos( radians( latitude ) ) * cos( radians( longitude ) - radians(-122) ) sin( radians(37) ) * sin( radians( latitude ) ) ) ) AS distance FROM mydb.campus HAVING distance < 25 ORDER BY distance LIMIT 0 , 20;

Я пытаюсь понять, как я мог бы использовать гибернацию, и хотел бы получить более чистый способ сделать это. Я просмотрел API критериев, но, похоже, не могу найти способ выполнить это.

Ответ №1:

Этот запрос вряд ли будет возможен в режиме гибернации и, конечно, не в чистом виде. Однако вы можете выполнить собственный SQL-запрос.

 session.createSQLQuery("your sql here");
 

Это привяжет вас к MySQL, но должно сработать.