1、写在前面
数据涉及到空间数据,数据库用的是SQL Server2008,java小白一枚,新项目用SSH框架,于是倒腾了一上午,总算搞定了。
2、需要导入的jar包有两个:
1)、hibernate-spatial-4.3jar
2)、jts-1.8.jar
3、数据库方言改为:
org.hibernate.spatial.dialect.sqlserver.SqlServer2008SpatialDialect
原来的org.hibernate.dialect.SQLServer2008Dialect 在数据类型转换时有问题;
4、实体映射文件xxx.hbm.xml为:
<property name="shape" type="org.hibernate.spatial.GeometryType">
<column name="SHAPE" />
</property>
5、pojo类为:
import com.vividsolutions.jts.geom.Geometry;
.....
private Geometry shape;
public Geometry getShape() {
return shape;
}
public void setShape(Geometry shape) {
this.shape = shape;
}
6、jsp调用之后,显示该空间字段的wkt字符串形式:
类似于这种:POINT (35 100)
基本上就这么多了吧,一些关键的地方主要在2、3、4、5点上。现在看起来很简单,可当时调试的时候一直出错,在hibernate官网上找了半天没找到关于SQL Server的配置相关信息。今天写下来,一为记录,二为在网上找类似方案的人提供点帮助吧,呵呵。