问题标签 [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.
lucene - 休眠索引嵌入式空间实体
情景
班干部、班办、班办职员。
班级办公室是一个空间实体,可以搜索并按预期返回结果。
Office-Employee 之间的多对多关系与OfficeEmplyee类映射。
现在我需要根据某个范围内的某些人执行搜索。换句话说,我必须检查范围内的办公室和存在于这些办公室的员工,即搜索OfficeEmployee实体。
所有三个类都被索引。
办公室雇员
班级办公室
查询:
问题
现在我想在关系表 (OfficeEmployee) 上执行我的搜索。
但听起来我无法让它工作!我查了教程,找不到这样的例子。
- 是否可以像我解释的那样使用当前索引的实体?
- 我是否必须在 OfficeEmployee 中包含 @Spatial ?但这需要单独建立新的索引,我想使用当前索引的索引。
- 当我运行搜索时,它说我需要检查@Spatial 和@SpatialFieldBridge,即使我这样注释,结果也是空的。
- 如果我的空间实体正在实现坐标并且没有单独的坐标字段,@ContainedIn 应该放在哪里?
谁能指出我正确的方向?
java - HibernateException:位置在 2D 中是共线的
我正在使用 Hibernate Spatial 版本 5.0.7.Final 作为 ORM。有时,当我使用 Geometry 作为命名参数执行查询时,会出现以下异常:
我了解有时我的几何图形是共线的,并且库NumericalMethods
中的模块Geolatte
正在检查我的几何图形是否isCounterClockwise
会引发此异常。
我想知道为什么它会这样做,但更重要的是,我可以做些什么来避免这个错误。
NumericalMethods.java下面的 Hibernate 代码只检查前三个坐标。就我而言,有时这三个第一个坐标是共线的,但第四个坐标会使它成为有效的多边形。我想不出为什么它不会遍历其余的坐标来判断它是否是逆时针方向。
完整的堆栈跟踪:
java - JTS 中的地理数据类型
我最近发现了在项目中处理地理类型时使用 JTS 库的潜力。我使用休眠作为我的 ORM(包括休眠空间)。
在知道 JTS 的存在之前,我将坐标存储在一个名为 LatLon 的自定义类中;每当我想管理折线时,我都会创建它们的列表,例如 List。我意识到在数据库中进行 CRUD 操作时的性能有多糟糕。
所以,正如我之前告诉过你的,我发现我的 LatLon 课程可以被 JTS 的 Point 课程取代。我开始实现它并替换 LatLon 属性,但我有几个问题:
我使用 XML(不是注释)映射我的类。以下是正确的吗?
(Java 类)
... private Point puntoInicio; ...
(XML 映射)
<property name="puntoInicio" type="org.hibernate.spatial.GeometryType" column="RUTA_PUNTOINICIO" not-null="true" />
如何存储折线?我没有找到任何名为折线的数据类型。但是,我发现了像 LineString 这样的其他人。我可以用它来表示折线吗?我如何映射它们?
太感谢了!
编辑:我正在使用 Hibernate 5.0.7.Final + Hibernate Spatial 5.0.7.Final
编辑 2:对不起,我的延误和不接受任何答案。我前段时间撤消了整个修改,但我想以这种方式修改和实现。感谢您的时间和耐心。
hibernate - 使用 JPARepository 查询时排除字段
我知道当用@Transient标记一个字段时,该字段将在 persistence 期间被排除。但就我而言,我只想在 find() 函数中忽略它,而不是在 save() 函数中。
例如:
myJpaRepository.save(myModel) 将像往常一样保存模型
myJpaRepository.find(id) 将查询对象但忽略我想要的字段。
由于我正在使用 Hibernate 空间,因此我的属性之一是 com.vividsolutions.jts.geom.Point,当执行 myJpaRepository.find(id) 之类的操作时,它会引发如下异常:
我确切地知道这是 PostgreSQL 的 Hibernate 空间点的错误,但我找不到解决它的确切解决方案,我的解决方法是在查询时忽略该字段,但我不知道该怎么做。
java - com.vividsolutions.jts.geom.Geometry 的 getLength() 方法的单位是什么
我正在使用 Hibernate Spatial 开发 Web 应用程序。我有 MULTILINESTRING 类型的 Geometry 并在以下代码片段中使用 geometry.getLength() 计算几何的长度:
现在的问题是“长度”的单位是什么?我怎样才能得到以米为单位的长度?
eclipse - 如何使用 Eclipse Hibernate Tools 对启用 PostGIS 的数据库进行逆向工程?
这是我的设置:
- PostgreSQL 9.3
- 地理信息系统 2.1.4
- 日食火星
- 休眠工具 5.0
- 休眠空间
4.35.0
我还添加了postgis-jdbc.jar
和jts.jar
构建路径。
该.cfg.xml
文件打开:
在该reveng.xml
文件中,包含几何类型字段的表使用table-filter
元素显式声明:
Hibernate 代码生成配置正在为几何类型字段创建具有这种属性和方法的 POJO:
在Hibernate Spatial 教程中,几何字段映射到 JTS 类型,例如 ( com.vividsolutions.jts.geom.Point
)。因此,使用此代码不可能遵循那里提出的机制来检索/更新空间字段。
是否可以以某种方式调整 Hibernate 配置以生成从空间字段到 JTS 类型的映射?Serializable
还是必须改用这些生成的属性?
更新:Hibernate Spatial 邮件列表中的 Bakc我被告知我应该有匹配的 Hibernate Spatial 和 Hibernate 版本。官方网站上没有 Hibernate Spatial 5.0.7,但我在其他地方找到了它。即使使用这些匹配版本,我也会Serializable
在生成的 POJO 中获取类型字段。
hibernate - Wildfly 10 上的空间休眠 5
我正在使用 Wildfly 10 并使用带有 PostGIS 数据库的 Spatial Hibernate 5 开发应用程序。我在运行时收到以下错误。
谁能推荐一些关于如何将 Spatial Hibernate 与 Wildfly 10 一起使用的好教程?
hibernate - 将 hbm.xml 文件更新为 hibernate 5 的 hibernate.spatial.GeometryType
我有一个 Location.hbm.xml 文件,其中包含以下行:
我们正在更新到休眠 5,并且不再有 GeometryType 对象。我应该改用什么类?
hibernate-5.x - 休眠空间 5 和 MySQL 5.7
我正在使用 Hibernate Spatial 5.0.7 和 MySQL 5.7。
我需要使用 MySQL ST_* 精确空间运算符,为此我应用 MySQLSpatial56Dialect,但是如果我使用这种方言,则无法从数据库中正确检索几何数据类型。使用 MySQL 5.6 版本时不会发生这种情况。
我错过了什么?
java - Hibernate 5 是否仍然支持 Hibernate Spatial?
根据以下链接:
http://docs.jboss.org/hibernate/orm/5.1/quickstart/html_single/#_release_bundle_downloads
应该有一个包含休眠空间 jar 的文件夹“lib/spatial”,但它似乎是标准下载的 lib 文件夹中缺少的一个文件夹。(我尝试过 Hibernate 版本 5.0.6、5.0.8 和 5.1.0)。