HibernateSpatial4.3+postgresql的使用

    SSH的整合参考的【SSH网上商城项目实战01】整合Struts2、Hibernate4.3和Spring4.2这篇文章,写得非常细致,我参考并按照自身需求做了改动,实现通过HibernateSpatial使用postgis的ST_within(geometry A,geometry B)函数来查询polygon范围内的点。

现记录改动及自认重要之处,以备后时翻阅:

实例类里的几何类型:

@Type(type = "org.hibernate.spatial.GeometryType")
	private Point point;

实例类对应的**.hbm.xml:

 1.id自增


            
            sequence">
            	maps_id_seq
            
        

  2.几何字段及时间戳字段

org.hibernate.spatial.GeometryType">
            
        
        
            
        

查询几何范围内的点:

public List queryByRange(Geometry geo) {
		String hql = "from Maps m where within(m.point,:filter) = true";
		Query query = getSession().createQuery(hql);
		query.setParameter("filter", geo);
		List maps = query.list();
		return maps;
	}

bean.xml中连接池的配置:


	
		
		
		
		
	
hibernate.cfg.xml中dialect的配置:


			org.hibernate.spatial.dialect.postgis.PostgisDialect
		
用到的jar包:

hibernate-spatial-4.3.jar 、 postgis.jar 、 postgis-jdbc-driver.jar 、postgresql-9.2-1004.jdbc4.jar 、 jts-1.11.jar

还可参考tutorial4、PostGIS整合Hibernate4.0+Spring(Maven,Kepler)



你可能感兴趣的:(ssh,postgresql)