如何将这个MySQL-Query转换为Hibernate-Query

时间:2012-09-27 23:35:45

标签: java mysql hibernate geolocation spatial

我想问一下如何将这个MySQL查询转换为Hibernate查询:

SELECT * FROM Cities WHERE WITHIN(GeomFromText('POINT(52.5 13.3)'), polygon);

或者

SELECT * FROM Cities WHERE MBRContains(polygon, GeomFromText('POINT(52.5 13.3)');

谢谢。 托马斯

1 个答案:

答案 0 :(得分:6)

知道了:

import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.GeometryFactory;
import com.vividsolutions.jts.geom.Point;
import javax.persistence.Query;

Coordinate coord = new Coordinate(52.5, 13.3);
Point point = new GeometryFactory().createPoint(coord);
Query query = em.createQuery("FROM Cities WHERE WITHIN(:location, polygon) = true", Cities.class);
query.setParameter("location", point);
相关问题