Я боролся с этим некоторое время. Запуск на Tomcat 7.0.47
Соответствующий фрагмент класса сущности:
@Column(name = "geopoint", columnDefinition = "org.postgis.Geometry")
@Type(type = "org.hibernate.spatial.GeometryType")
private com.vividsolutions.jts.geom.Point geopoint;
Вот библиотеки, которые я использую:
Hibernate Spatial 4.0-M1
postgis-jdbc 2.1.0SVN (used 1.5.3 before, same issue.)
Hibernate 4.2.7
Информация об источнике данных
Datasource = org.apache.tomcat.jdbc.pool.DataSource
Driver Class Name = org.postgis.DriverWrapper
JDBC URL Beginning = jdbc:postgresql_postGIS:
БД — это PostgreSql 9.3 на Amazon RDS с установленным PostGIS. Столбец геоточка имеет тип "точка". Я создал эту таблицу с помощью PgAdminIII
Реквизиты Hibernate Session Factory
<prop key="hibernate.temp.use_jdbc_metadata_defaults">false</prop>
<prop key="hibernate.dialect">org.hibernate.spatial.dialect.postgis.PostgisDialect</prop>
<prop key="hibernate.showsql">true</prop>
Я отладил код, чтобы увидеть, что JDBC, кажется, возвращает PGPoint. PGGeometryValueExtractor.toJTS(Object) получает PGPoint. Похоже, что Hibernate Spatial предназначен для объекта org.postgis.Geometry или org.postgis.PGGeometry.
Любая помощь будет оценена по достоинству.