Java Hibernate空间函数不断抛出意外的AST节点

Java Hibernate空间函数不断抛出意外的AST节点,java,jpql,hibernate-4.x,hibernate-spatial,Java,Jpql,Hibernate 4.x,Hibernate Spatial,我正在尝试查询实体之间的空间关系,但始终出现以下异常: 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.lat

我正在尝试查询实体之间的空间关系,但始终出现以下异常:

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贴图(一个是多边形,另一个是点)


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

显然,空间函数的语法要求您根据布尔值对其进行测试,因此我必须在查询的末尾添加比较:

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

对我来说,这似乎并没有解决类似的问题。 我转而使用带有空间限制的标准来解决我的问题。 此示例搜索包含给定位置的所有区域,其中此处的位置是几何体

Criteria criteria = getCurrentSession().createCriteria(Region.class);
criteria.add(SpatialRestrictions.contains("theGeom", location));