我正在尝试查询我的实体之间的空间关系,但不断收到此异常:

org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected AST node: ( near line 1,

我的实体正常工作,映射也正常。我相信我的查询有问题:
SELECT r FROM Regiao r, Imovel i WHERE r.nivel = :nivel AND contains(r.regiao, i.latlng)

其中r.regiao和i.latln都是GeometryType映射的(一个是Polygon,另一个是Point。

诗:当我问这个问题时,我终于理解了这个问题。

最佳答案

显然,空间函数的语法要求您针对 boolean 值对其进行测试,因此我不得不在查询末尾添加比较:

SELECT r FROM Regiao r, Imovel i WHERE r.nivel = :nivel AND contains(r.regiao, i.latlng) = TRUE

10-08 16:13