4

我想问一下如何将此 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)');

谢谢你。托马斯

4

1 回答 1

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);
于 2012-09-28T00:28:29.270 回答