首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在PostgreSQL和JPA/Hibernate中使用Point类型

在PostgreSQL和JPA/Hibernate中使用Point类型
EN

Stack Overflow用户
提问于 2014-03-05 09:07:33
回答 2查看 12K关注 0票数 19

有没有办法将Point列映射到Java实体字段?

我尝试过Hibernate Spatial 4.0,但它似乎不能与没有PostGIS的纯PostgreSQL一起工作。以下是点字段定义:

代码语言:javascript
复制
import com.vividsolutions.jts.geom.Point;
...
@Column(columnDefinition = "point")
@Type(type = "org.hibernate.spatial.GeometryType")
private Point location;

Persistence.xml中的方言:

代码语言:javascript
复制
<property name="hibernate.dialect"  value="org.hibernate.spatial.dialect.postgis.PostgisDialect" />

当我试图持久化这个实体时,抛出了异常:

代码语言:javascript
复制
org.postgresql.util.PSQLException: Unknown type geometry.
at org.postgresql.jdbc2.AbstractJdbc2Statement.setPGobject(AbstractJdbc2Statement.java:1603)
at org.postgresql.jdbc2.AbstractJdbc2Statement.setObject(AbstractJdbc2Statement.java:1795)
at org.postgresql.jdbc3g.AbstractJdbc3gStatement.setObject(AbstractJdbc3gStatement.java:37)
at org.postgresql.jdbc4.AbstractJdbc4Statement.setObject(AbstractJdbc4Statement.java:46)
at org.hibernate.spatial.dialect.AbstractJTSGeometryValueBinder.bind(AbstractJTSGeometryValueBinder.java:48)
at org.hibernate.spatial.dialect.AbstractJTSGeometryValueBinder.bind(AbstractJTSGeometryValueBinder.java:39)
at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:280)
at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:275)
at org.hibernate.type.AbstractSingleColumnStandardBasicType.nullSafeSet(AbstractSingleColumnStandardBasicType.java:57)

因此,它似乎试图将值作为PostGIS的几何类型持久化。但我只想使用简单的Point。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22186506

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档