Hibernate Spatial:类型缓存查找失败

问题描述 投票:0回答:1

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

我想使用 HibernateSpatial/Hibernate 保留具有几何字段的实体。在持久化时,它会抛出异常

'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... 类)

我用

  • 休眠4.3.11
  • 休眠空间 4.3
  • postgresql-9.4

在数据库中,该字段被声明为几何。

编辑:这似乎与在一个连接中运行 CREATE EXTENSION postgis 调用有关,而另一个连接则没有拾取这些对象,但我对此不太了解 PostgreSQL 内部结构

java hibernate postgresql postgis
1个回答
0
投票

2024年也有同样的问题...找不到任何解决方案

© www.soinside.com 2019 - 2024. All rights reserved.