java - 如何将此 MySQL 查询转换为 Hibernate 查询

标签 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)');

谢谢。 托马斯

最佳答案

明白了:

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);

关于java - 如何将此 MySQL 查询转换为 Hibernate 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12631610/

相关文章:

java - 退出的主线程会杀死异步任务吗?

java - 将我的 HashSet 显示到 ListView

mysql - 无法更改表,出现错误 1067 无效的默认值

java - onReceive() 回调中的同步块(synchronized block)

java - ' )' expected error .... Can' 弄清楚这个

mysql - 从不同的表中减去两列并分组

mysql - 使用txt文件将数据插入SQL表

java - 运行时的 Hibernate 数据库密码

java - 保存实体时出现 ConcurrentModificationException

java - 如何在实体类中添加 HashMap<Object, String>?