我遇到了与此电子邮件线程完全相同的错误: 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中)。
就像线程中的那个人一样,我可以:
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... 类)
我用
在数据库中,该字段被声明为几何。
编辑:这似乎与在一个连接中运行 CREATE EXTENSION postgis 调用有关,而另一个连接则没有拾取这些对象,但我对此不太了解 PostgreSQL 内部结构
2024年也有同样的问题...找不到任何解决方案