问题标签 [hibernate-spatial]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1226 浏览

hibernate - 使用 PostGIS 时 Play Framework 无法构建实体管理器工厂

我正在尝试使用带有 Hibernate 和 JPA 的 PostGIS!框架,但我遇到了这个异常,这里是在使用类位置中的变量点时出现的错误(在添加类位置之前它工作正常):我正在使用 PostgreSQL 9.4 和 postGIS 2.1.7

应用程序.conf

错误

持久性.xml

Place.java

构建.sbt

0 投票
3 回答
653 浏览

hibernate - 使用休眠空间时无法获得连接

我们使用 Weblogic、Hibernate 4.2.7、Hibernate Spatial 4.0 和 Oracle 作为数据库。

有时在执行保存操作时,我们观察到无法连接

您能建议我们为 Spatial 遗漏的任何配置吗?

0 投票
1 回答
2165 浏览

java - hibernate-spatial jpa 距离查询

我正在尝试从我的 mysql 数据库中查询最近的 10 个热点,这是我的 JPA 实体:

这是我尝试查询的方式:

这是我的堆栈跟踪:

任何线索非常感谢:))) 提前致谢!

0 投票
1 回答
1765 浏览

hibernate - 使用 oracle 的休眠空间无法正常工作?

我正在从事 GIS 项目。

我想通过 JSF + Hibernate 制作一个 Web GIS。

我的空间数据在 Oracle-Spatial 12c 中,对于一些空间分析,我必须连接到 Oracle DB 并插入更新空间表。

我看到这个链接 Hibernate-Spatial

我首先尝试使用 Net Beans 8.02 中的 Maven 项目执行此操作,但效果不正确!

最后我完成了这些步骤:

  1. 使用带有 hibernate 4.3 和 JSF 的 net Beans 8.02 创建一个 Web 应用程序

  2. 为休眠执行此步骤

    https://netbeans.org/kb/docs/web/hibernate-webapp.html

  3. 从此链接下载 Geo-tools 的 jar 文件并添加到我的项目中

    http://sourceforge.net/projects/geotools/files/

  4. 从此链接和ojdbc7下载hibernate-spatial 4.3的Jar文件

    http://www.hibernatespatial.org/documentation/01-download/01-releases/

  5. 添加两个空间表到我的项目(LINE POINT)

  6. 在我的项目和我的线和点类和 .hbm.xml 中设置此步骤

    http://www.hibernatespatial.org/documentation/03-dialects/05-oracle/

    http://www.hibernatespatial.org/documentation/documentation/

  7. 当我在 net Beans 中构建我的项目并尝试从行查询此错误显示

    java.lang.UnsupportedOperationException at org.hibernate.spatial.GeometrySqlTypeDescriptor.getExtractor(GeometrySqlTypeDescriptor.java:57) at org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:263) at org.hibernate.type.AbstractStandardBasicType.nullSafeGet( AbstractStandardBasicType.java:259) 在 org.hibernate.type.AbstractStandardBasicType.nullSafeGet(AbstractStandardBasicType.java:249) 在 org.hibernate.type.AbstractStandardBasicType.hydrate(AbstractStandardBasicType.java:334) 在 org.hibernate.persister.entity.AbstractEntityPersister org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1627) 中 org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1695) 中的 .hydrate(AbstractEntityPersister.java:2969)。 org.hibernate.loader 中的 Loader.getRow(Loader.java:1514)。Loader.getRowFromResultSet(Loader.java:725) at org.hibernate.loader.Loader.processResultSet(Loader.java:952) at org.hibernate.loader.Loader.doQuery(Loader.java:920) at org.hibernate.loader .Loader.doQueryAndInitializeNonLazyCollections(Loader.java:354) 在 org.hibernate.loader.Loader.doList(Loader.java:2551) 在 org.hibernate.loader.Loader.doList(Loader.java:2537) 在 org.hibernate。 loader.Loader.listIgnoreQueryCache(Loader.java:2367) at org.hibernate.loader.Loader.list(Loader.java:2362) at org.hibernate.hql.internal.classic.QueryTranslatorImpl.list(QueryTranslatorImpl.java:939)在 org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:229) 在 org.hibernate.internal.SessionImpl.list(SessionImpl.java:1260) 在 org.hibernate.internal.QueryImpl.list(QueryImpl .java:103)725) 在 org.hibernate.loader.Loader.processResultSet(Loader.java:952) 在 org.hibernate.loader.Loader.doQuery(Loader.java:920) 在 org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java :354) 在 org.hibernate.loader.Loader.doList(Loader.java:2551) 在 org.hibernate.loader.Loader.doList(Loader.java:2537) 在 org.hibernate.loader.Loader.listIgnoreQueryCache(Loader. java:2367) 在 org.hibernate.loader.Loader.list(Loader.java:2362) 在 org.hibernate.hql.internal.classic.QueryTranslatorImpl.list(QueryTranslatorImpl.java:939) 在 org.hibernate.engine.query .spi.HQLQueryPlan.performList(HQLQueryPlan.java:229) 在 org.hibernate.internal.SessionImpl.list(SessionImpl.java:1260) 在 org.hibernate.internal.QueryImpl.list(QueryImpl.java:103)725) 在 org.hibernate.loader.Loader.processResultSet(Loader.java:952) 在 org.hibernate.loader.Loader.doQuery(Loader.java:920) 在 org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java :354) 在 org.hibernate.loader.Loader.doList(Loader.java:2551) 在 org.hibernate.loader.Loader.doList(Loader.java:2537) 在 org.hibernate.loader.Loader.listIgnoreQueryCache(Loader. java:2367) 在 org.hibernate.loader.Loader.list(Loader.java:2362) 在 org.hibernate.hql.internal.classic.QueryTranslatorImpl.list(QueryTranslatorImpl.java:939) 在 org.hibernate.engine.query .spi.HQLQueryPlan.performList(HQLQueryPlan.java:229) 在 org.hibernate.internal.SessionImpl.list(SessionImpl.java:1260) 在 org.hibernate.internal.QueryImpl.list(QueryImpl.java:103)loader.Loader.doQuery(Loader.java:920) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:354) at org.hibernate.loader.Loader.doList(Loader.java:2551) at org.hibernate .loader.Loader.doList(Loader.java:2537) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2367) at org.hibernate.loader.Loader.list(Loader.java:2362) at org. hibernate.hql.internal.classic.QueryTranslatorImpl.list(QueryTranslatorImpl.java:939) at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:229) at org.hibernate.internal.SessionImpl.list( SessionImpl.java:1260) 在 org.hibernate.internal.QueryImpl.list(QueryImpl.java:103)loader.Loader.doQuery(Loader.java:920) at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:354) at org.hibernate.loader.Loader.doList(Loader.java:2551) at org.hibernate .loader.Loader.doList(Loader.java:2537) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2367) at org.hibernate.loader.Loader.list(Loader.java:2362) at org. hibernate.hql.internal.classic.QueryTranslatorImpl.list(QueryTranslatorImpl.java:939) at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:229) at org.hibernate.internal.SessionImpl.list( SessionImpl.java:1260) 在 org.hibernate.internal.QueryImpl.list(QueryImpl.java:103)doList(Loader.java:2551) at org.hibernate.loader.Loader.doList(Loader.java:2537) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2367) at org.hibernate.loader.Loader .list(Loader.java:2362) 在 org.hibernate.hql.internal.classic.QueryTranslatorImpl.list(QueryTranslatorImpl.java:939) 在 org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:229 ) 在 org.hibernate.internal.QueryImpl.list(QueryImpl.java:103) 的 org.hibernate.internal.SessionImpl.list(SessionImpl.java:1260)doList(Loader.java:2551) at org.hibernate.loader.Loader.doList(Loader.java:2537) at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2367) at org.hibernate.loader.Loader .list(Loader.java:2362) 在 org.hibernate.hql.internal.classic.QueryTranslatorImpl.list(QueryTranslatorImpl.java:939) 在 org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:229 ) 在 org.hibernate.internal.QueryImpl.list(QueryImpl.java:103) 的 org.hibernate.internal.SessionImpl.list(SessionImpl.java:1260)HQLQueryPlan.performList(HQLQueryPlan.java:229) 在 org.hibernate.internal.SessionImpl.list(SessionImpl.java:1260) 在 org.hibernate.internal.QueryImpl.list(QueryImpl.java:103)HQLQueryPlan.performList(HQLQueryPlan.java:229) 在 org.hibernate.internal.SessionImpl.list(SessionImpl.java:1260) 在 org.hibernate.internal.QueryImpl.list(QueryImpl.java:103)

请帮助我如何解决问题或者是比hibernate-spatial更好的解决方案?

0 投票
7 回答
22575 浏览

java - Hibernate Spatial 5 - GeometryType

将 Hibernate-spatial 升级到版本 5.0.0.CR2 后,以下声明不再起作用:

带着:

正如我所见,该类不再存在于 Jar-File 中。GeometryType 发生了什么以及如何替换它?或者是否还有另一个要包含的 jar 文件?

编辑:为了澄清。我将 Hibernate-Spatial 与 PostgreSQL-Postgis 数据库结合使用。

0 投票
0 回答
271 浏览

java - 使用 GeometryUserType 参数的 Postgis 和 Oracle 空间查询

为不同的 Hibernate 持久性单元配置 Postgis 和 Oracle 空间之后,我将把 MyClass 的实例持久化到 Postgis 或 Oracle 数据库中,如我的persistence.xml及其映射文件中配置的那样。

我将注释一个geom属性:

Persistence.xml配置:

在我的oracle.hbm.xml中:

Postgis 配置将以类似的方式工作。

这样当我查询 MyClass 实体时,它会选择正确的方言。当我从数据库中插入或检索信息时(简单的query.list() ) ,这似乎可以工作并为该属性选择正确的方言。

但是当我使用该类型的参数过滤该属性时:

它将使用默认为该特定参数配置的 Hibernate 方言,而不是为持久性单元指定的方言,因此它将输出下面的堆栈跟踪。

有什么方法可以强制使用我在持久性单元中为谓词中的特定参数字段定义的一致方言,而不是默认配置的任何方言?

0 投票
1 回答
3802 浏览

java - 使用休眠空间查询n公里半径内的所有对象?

我使用休眠空间将地理位置附加到汽车。我的卡域类如下所示:

我的程序在 Grails 中,所以我提供的示例在 Groovy 中。我在这里找到了一个类似的帖子,它并没有真正回答关于如何正确指定半径以设置半径的 n 公里的最重要问题。

这是我计算圆几何的方法:

圆的大小除以 88.1 只是一个肮脏的修复来获得一个近似的尺寸,但它仍然是错误的。

我的查询是这样完成的:

这工作不是很准确。此查询返回了一些应该在圆圈外的汽车。

这是一个例子。我的中心是汉堡,半径是40公里。我做了一个谷歌地图可视化。

这是我设置的radius = 40时间:

在此处输入图像描述

您可以看到,在左上角,仍然绘制了一辆位于圆圈外的汽车。这不应该是这样。在我看来,我用谷歌地图绘制的圆不等于我在代码中为查询绘制的圆几何。

这是我设置的radius = 30时间:

在此处输入图像描述

您会看到右下角的汽车消失了,这是正确的,但左上角的汽车仍然保留在查询中。

当我绘制我创建的圆时,createCircle我得到以下信息(getCoordinates()用于获取圆的坐标):

在此处输入图像描述

如何查询40公里范围内的所有车辆?

0 投票
0 回答
204 浏览

postgis - 除了 hibernate-spatial 之外,是否有任何 Java ORM 框架来处理 PostGIS

我一直在使用 hibernate-spatial 与以地理为列的 postgis 表进行交互。所有内容都已使用 hibernate-spatial 成功保存,但是当我们尝试从 postgis 表中加载数据时,出现以下异常: java.lang.IllegalArgumentException: Can't convert object of type org.postgresql.util.PGobject I检查了休眠空间代码,发现 PGGeometryValueExtractor 的 toJTS(Object object) 方法引发了异常,因为代码中没有处理 Geography。有什么方法可以使用 hibernate-spatial 读取 postgis Geography 对象。

0 投票
1 回答
186 浏览

hibernate - Hibernate SpatialRestrictions & PostGIS 别名:'列不存在'

SpatialRestrictions当我从(例如)指定标准时SpatialRestrictions.intersects(propertyName, geometryObj),生成的 SQL 无效,因为列名已被别名并使用不正确:

生成的 SQL

SELECT this_.GEO_LOCATION as y10_ FROM schema.GEO this_ WHERE ( ST_intersects(y10_, 'SRID=4326;POLYGON(...)') OR ST_intersects(y10_, 'SRID=4326;POLYGON(...)'))

有没有办法强制忽略投影别名并仅使用table_alias.column

0 投票
1 回答
68 浏览

hibernate - 如何进行休眠空间删除?

我想删除我的数据库数据。

这是取自 TextBox 值的 AJAX 代码:

这是我的按钮代码:

  • 删除
  • 这是我的控制器(获取方法)

    这是 SavegeojsonManager 类代码:

    }

    这是 GeoJSON 类: