【发布时间】:2016-01-28 08:58:33
【问题描述】:
我最近发现在项目中处理地理类型时使用 JTS 库的潜力。我使用休眠作为我的 ORM(包括休眠空间)。
在知道 JTS 的存在之前,我将坐标存储在一个名为 LatLon 的自定义类中;每当我想管理折线时,我都会创建一个列表,例如列表。在数据库中进行 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:对于我的延误和不接受任何答案,我深表歉意。我前段时间撤消了整个修改,但我想以这种方式修改和实现。感谢您的时间和耐心。
【问题讨论】:
-
是的,折线在 GIS 中称为 LINESTRING
-
如何在休眠中映射 Point 和 LineString 类?将它们映射为 org.hibernate.spatial.JTSGeometryType 类型时出现以下错误“无法实例化类型:org.hibernate.spatial.JTSGeometryType”...
-
试试吧:
<property name="puntoInicio" type="org.hibernate.spatial.GeometryType"> <column name="RUTA_PUNTOINICIO" /> </property> -
对不起,我不是真正的休眠用户 :(
标签: java hibernate jts hibernate-spatial