2015-08-04 2 views
1

У меня есть таблица Restaurants, в которой хранятся сведения о ресторанах, в том числе Latitude и Longitude. Теперь мне нужно отсортировать записи из БД в пределах 20 Kilo Meter данных Lat/Lon значений ввода.HQL: Расчет расстояния между двумя точками?

Я использую веб-сервис RESTful с спящим режимом.

Entity Класс

@Entity 
@Table(name = "restaurants") 
public class Restaurants implements Serializable { 

    private static final long serialVersionUID = 1L; 

    @Id 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    @Column(name = "restaurant_id") 
    private int restaurantId; 

    @Column(name = "restaurant_name") 
    private String restaurantName; 

    @Column(name = "category_id") 
    private Integer categoryId; 

    @Column(name = "image_url") 
    private String imageUrl; 

    private Float longitude; 

    private Float latitude; 

    @Column(name = "contact_name") 
    private String contactName; 

    @Column(name = "primary_phone") 
    private String primaryPhone; 

    @Column(name = "secondary_phone") 
    private String secondaryPhone; 

    private String fax; 

    private String address1; 

    private String address2; 

    //Getters and Setters 

} 

Я перемещался, но не мог найти удовлетворяющий answer.is предпочтительным between операции, чтобы выяснить разницу между Lat/Long .Или я использую Criteria? Любой, пожалуйста, дайте мне ответ.?

ответ

0

Возможно, вы выбрали использование Hibernate Spatial?

Вы можете найти учебник здесь: http://www.hibernatespatial.org/documentation/02-Tutorial/01-tutorial4/

Becareful все базы данных не поддерживает спящий режим Spatial. Вы можете проверить поддержку базы данных здесь: http://www.hibernatespatial.org/documentation/03-dialects/01-overview/

Также Becareful изменить SQLDialect

+0

Спасибо за ваш быстрый response..but это не достаточно .. – Stella

+0

Используете ли вы Hibernate Spatial или Juste классических гибернации? – fabballe

+0

Обычный только спящий режим ... – Stella

Смежные вопросы