我有一张表 Restaurants
,它存储了餐厅的详细信息,包括 Latitude
和 Longitude
。现在我必须从 DB 中整理记录在给定 Lat/Lon
输入值的 20 Kilo Meter
范围内的那些。
我正在使用带 hibernate 功能的 RESTful 网络服务。
实体类
@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
}
我已经上网,但找不到任何令人满意的答案。between
操作是否更可取以找出 Lat/Long
之间的差异。还是我使用 标准
?任何人请给我一个答案。?
最佳答案
也许您选择使用 Hibernate Spatial?
您可以在此处找到教程:http://www.hibernatespatial.org/documentation/02-Tutorial/01-tutorial4/
请注意,并非所有数据库都支持 Hibernate Spatial。您可以在此处检查您的数据库支持:http://www.hibernatespatial.org/documentation/03-dialects/01-overview/
还请注意更改您的 SQLDialect
关于java - HQL : Distance calculation between two locations?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31805790/