问题标签 [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 投票
2 回答
4051 浏览

hibernate - hibernate-spatial:用于检索几何的 sql 查询

我正在使用 postgresql、hibernate-spatial 和 postgis,并且希望能够使用 SqlQuery 来检索 Geometry 对象。

但是,每当我尝试查询点、多边形或几何时,例如

我得到了例外:

休眠.cfg.xml:

这不是休眠空间产品的一部分还是我做错了什么?

谢谢,保罗。

相关库/版本:

  • hibernate-core-3.6.0.Final.jar
  • postgresql-9.0-801.jdbc4.jar
  • 休眠空间postgis-1.1.1.jar
  • 休眠空间 1.1.1.jar
  • postgis-jdbc-1.3.3.jar
  • jts-1.12.jar
0 投票
1 回答
1278 浏览

hibernate - 使用 postgis 和 hibernate-spatial 找不到类型几何

我正在尝试使用 postgis 设置一个带有休眠空间的项目。按照 hibernate-spatial 4.0-M1 的教程,我首先遇到了找不到依赖 postgis-jdbc-1.5.3.jar 的问题。就像有人在这里建议的那样,我使用了 1.5.2 版本并且教程编译了。

但是如果我尝试运行它,我会得到一个错误。我将休眠的调试级别设置为调试并偶然发现以下问题:

错误是德语,但意味着“几何”类型不存在。

如果我使用 create table 语句并在 pgadmin 中执行它,它可以找到,所以我认为数据库设置正确。

我的版本:

谢谢帮助

杰比

0 投票
1 回答
2675 浏览

hibernate - 在 play 框架中启动并运行 hibernate-spatial

我正在使用 play 2.1 迈出第一步,所以我在 playframework 网站上完成了 JavaTodoList 教程。一切都按预期工作。

接下来,我更改了 todolist 以使用在我的开发箱上运行的 postgresql 数据库。我所要做的就是更改 application.conf 中的一些设置

我刷新了页面,进行了数据库演化,一切正常。

现在我想使用 hibernate-spatial 将位置坐标存储到每个 todolist 项目(实际上可以是任何其他基于位置的项目)。

我在 app /lib 目录中添加了一些库,即:

  • hibernate-commons-annotations-4.0.1.Final.jar
  • hibernate-core-4.1.9.Final.jar
  • 休眠空间4.0-M1.jar
  • jdbc-stdext-2.0.jar
  • jts-1.12.jar
  • postgis-jdbc-1.5.3.jar
  • postgresql-8.4-701.jdbc4.jar

我在经典 glassfish java 应用程序上使用相同的库来存储空间特征,因此它们可以组合在一起。postgresql 数据库也使用 postgis 在空间上启用,这在之前使用经典的 java 应用程序进行了测试。

我将我的模型类扩展为 todo 任务,如下所示:

我还在我的 conf 文件中添加了 Postgis JPA 方言:

Play 编译一切正常,有一些错误,当类路径中缺少库时,但我添加了上面列出的一个又一个,直到不再出现错误。然而,没有触发新位置字段的数据库演变。似乎游戏忽略了我的应用程序的所有休眠空间特定部分。它的工作方式与之前的普通 todolist 应用程序相同。

我认为这与不同的hibernate版本有关(是使用hibernate3还是hibernate4播放?我可以升级到4吗?)。已经对此有经验的人可以告诉我他使用的每个库的版本以及必须完成的配置设置吗?

更新:正如克里斯托弗所提到的,我把 ebean 和 jpa 混在一起了。所以我把 jpa-sample 转移到我简单的 todolist 样本上。我更新了 play 项目文件和依赖项,重新连接了模型和控制器以适应 JPA EntityManager,并从类路径中删除了一些库,以便我使用 play 2.1 上的 hibernate 3。我也几乎像在 jpa 示例中一样进行了配置,我的 persistence.xml 和 application.conf 几乎看起来一样,除了我使用 postgres 方言进行休眠。我可以编译我的项目,但是当我启动它时,我得到了

PersistenceException: [PersistenceUnit: defaultPersistenceUnit] 无法配置 EntityManagerFactory

我将 play 的详细程度配置为调试,所以我发现,在 PropertyBinder 构建我的任务实体的 id 属性后会出现此异常。

想我更进一步,但看不到尽头......

0 投票
3 回答
7489 浏览

hibernate - 区域内点的休眠空间查询

亲爱的stackoverflow读者,

我目前正在开发一个需要根据其坐标加载特定项目的应用程序。示例:我想要坐标 x 或其 15 公里范围内的所有商店。

我一直在 Java EE 6 中构建这个 Web 应用程序,并使用 Hibernate 3.3 将数据持久化到我的 Postgres 数据库。经过一番研究,我发现 Hibernate-Spatial 可以实现我的目标。我安装了 Postgis 并运行了 Hibernate-Spatial。

我正在使用 Hibernate 3.3、Hibernate-Spatial 1.0、PostgreSQL 9.2 和 postgis-jdbc 1.3.3。

我创建了一个具有位置字段的实体:

最初我以为我可以创建一个 Circle 并基本上查询位于圆圈中的每个点。但这似乎比我想象的要难。太难了,我开始认为我在使用 Hibernate-Spatial 时做出了错误的选择。

我的问题是,是否可以通过使用 Hibernate-Spatial 来查询特定边界内的每个点(坐标 x 和 y km 从那里开始)。

我也对解决我的要求的其他可能性感兴趣。我一直在考虑以下几种可能性:

  • 只需在 PostgreSQL 上使用本机查询,将这些结果映射到实体并在应用程序的其他部分使用这些结果(基本上删除 Hibernate-Spatial 并使用本机查询)。
  • 切换到 Hibernate-Search 并使用 Lucene 来完成我的任务。
  • 完全不同的东西

谁能提供一个例子,说明我如何在 Hibernate-Spatial 中实现我的愿望,或者我如何以另一种方式实现我的要求。

0 投票
1 回答
1468 浏览

hibernate - 使用@Index 注解时指定索引方法

我正在使用(空间)休眠注释为在 PostGIS 之上实现的空间应用程序创建模式。从我的注释类创建数据库模式时,我需要创建空间索引以加速整个应用程序中使用的空间查询。

虽然导出的模式包含索引,但不幸的是它是使用不受欢迎的索引方法创建的;hibernate 似乎默认为btree但是 PostGIS 建议GIST在处理空间数据时使用索引(请参阅http://postgis.net/docs/manual-2.0/using_postgis_dbmanagement.html#id441511)。

虽然我可能只是回退使用普通 SQL 创建索引,但我想知道是否有一种方法可以使用休眠注释来覆盖 PostgreSQL 的默认方法类型?解决方案甚至想法如何做到这一点将不胜感激。

TIA,蒂尔曼

0 投票
0 回答
838 浏览

java - 如何使用 jpa 查询 postgis 数据库?

我想将 jpa 与空间查询混合使用。我正在使用休眠空间 1.1.1 和 hib 3.6.x。这里已经有一个解决方案http://www.hibernatespatial.org/pipermail/hibernatespatial-users/2008-May/000200.html 但我不知道它是否仍然有效,2008 年已经很久了。而我想要的hibernate-spatial是hibernate-spa的第4版。

0 投票
1 回答
217 浏览

gwt - com.vividsolutions.jts.geom.Geometry 是否可以使用 requestfactory 直接传输?

com.vividsolutions.jts.geom.Geometry 是否可以使用 requestfactory 直接传输,还是我必须在我的 entityproxy 中使用值代理?

0 投票
1 回答
115 浏览

gwt - 如何使请求工厂不可移动类型可移动?

根据这个答案:com.vividsolutions.jts.geom.Geometry 是否可以使用 requestfactory 直接传输?几何是(一种类型的特殊情况)不可使用 requestfactory 传输的。

那么这会起作用吗?:

然后我修改后的 Poi 实体代理将如下所示:

由于服务器实体中的 getGeomClient 和 setGeomClient 包含几何类型,客户端会出现问题吗?

EDIT1:忘记了@Version private Integer 版本;错误已修复。

0 投票
3 回答
4947 浏览

java - 一起使用 JPA Criteria Api 和 hibernate spatial 4

给定这里的查询示例:http ://www.hibernatespatial.org/tutorial-hs4.html

是否可以使用 jpa 2 标准 api 重写查询?(我不确定我应该如何处理这within(e.location, :filter)部分。

0 投票
1 回答
1184 浏览

java - 使用 Envers 和 Hibernate Spatial 4 进行审计

我正在尝试使用 Envers 在我的 Hibernate 实体上设置审核。但是,我收到了错误:

无法确定类型:几何,表:Location_AUD,列:[org.hibernate.mapping.Column(geom)]

Hibernate 对我在没有审计的情况下使用的几何类型很满意,但 Envers 似乎遇到了麻烦。

有谁知道 Envers 是否适用于 Hibernate Spatial 4?如果是这样,也许有人可以发现我的代码的问题。

我正在使用 Hibernate 4.2.5 和 HibernateSpatial 4.0.0 M1