今天上午一位朋友问到了,关于hibernate中是否支持postgis函数的问题,我就这个问题,随便聊几句。
要想使用hibernate的空间数据操作,就要提到一个概念 java Topology Suite (字面上理解就是 空间拓扑的意思,简称JTS,
注意:过需要声明一点,本文中的JTS与进行java事务处理的JTS、JTA没有联系).
HIBERNATE中对空间数据作了支持(Hibernate Spatial),Hibernate Spatial是对处理空间数据的一个Hibernate扩展 ,
Hibernate Spatial 使用标准的方式处理地理信息数据 ,并且提供了一个可以跨数据库的处理的接口函数,
Hibernate Spatial 中包含了多种 OGC 简单的处理函数. 支持的数据库为: Oracle 10g/11g, Postgresql/Postgis, and MySQL.
要想使用 Hibernate Spatial 就要引入JTS, JTS 从根本上而言其实并不是很复杂,它主要是完成了java对几何对象、空间拓扑得核心操作算法。
下面通过简单配置来说明一下如何使用(我们使用的数据库是postgis):
1,引入 jts-1.8.jar, hibernate3.jar 等包 ,同时还要应用 hibernate-spatial-postgis.jar 和
hibernate-spatial-.jar 包(如果不是postgre sql就要引用相应的数据库包)。
2、pojo实例
[b][/b]
3、配置application.xml
hibernate.dialect=org.hibernatespatial.postgis.PostgisDialect