Hibernate Spatial:类型的缓存查找失败

时间:2016-04-13 13:59:22

标签: java hibernate postgresql postgis

我遇到与此电子邮件主题完全相同的错误: http://hibernate-spatial.1140993.n2.nabble.com/cache-lookup-failed-for-type-1185046-tt7572634.html#a7572637(很遗憾没有解决方案)

我想使用HibernateSpatial / Hibernate来保持带有Geometry字段的实体。在持久化时,它会抛出异常'Caused by: org.postgresql.util.PSQLException: ERROR: cache lookup failed for type 3178753'(类型id随每个请求而变化,不包含在pg_type或pg_class中)。

就像线程中的那个人一样,我可以:

  • 持久化Geometry字段为NULL的实体
  • SQL手动插入包含几何字段的实体(使用预准备语句中生成的查询insert into tableA (id, polygon) values (1, 'SRID=4326;POLYGON((0 0,1 1,0 1,0 0))') RETURNING *

字段定义是:

@Column(name = "polygon")
@Type(type="org.hibernate.spatial.GeometryType")
private Geometry geom;

我也尝试过类型Polygon(总是com.vividsolutions.jts ...类)

我用

  • hibernate 4.3.11
  • hibernate-spatial 4.3
  • 的PostgreSQL-9.4

在DB中,该字段被声明为几何。

编辑:它似乎与在一个连接中运行CREATE EXTENSION postgis调用有关,而另一个没有选择那些对象,我不太了解PostgreSQL的内部结构,但

0 个答案:

没有答案