当前位置: 首页 > 知识库问答 >
问题:

R2DBC存储库如何与Postgis几何一起工作?

江浩慨
2023-03-14

我有几个使用Spring Data JPA的实体类。(这些实体类位于安装了postgis的postgres db中,并包含几何字段。)

然而,当我切换到r2dbc时,它不起作用。任何提示都将不胜感激。

错误原因:java.lang.IllegalStateException:未找到类org.locationtech.jts.geom.Geometry的必需标识符属性!

@Entity
public class Place {
    @Id
    public int id;
    @Column(columnDefinition="Geometry")
    @Type(type="org.hibernate.spatial.GeometryType")    
    public com.vividsolutions.jts.geom.Point coordinates;
}

共有2个答案

仲孙英才
2023-03-14

r2dbc还不支持空间数据。

韩寒
2023-03-14

还有更多关于几何体状态和R2DBC Postgres驱动程序的内容。请注意,这个空间中的一切都在演变,因此事情可能会很快发生变化。

R2DBC Postgres驱动程序从0.8.5版开始支持Postgres内部几何类型(pointline,...)。这些可以通过驱动程序类型io.r2dbc.postgresql.codec.Point等进行读写。

R2DBC Postgres驱动程序是使用扩展模型构建的,因此可以向驱动程序注册外部编解码器以支持Postgres类型扩展。

Postgis JDBC驱动程序最近收到一个功能请求,请求R2DBC Postgis支持。

最后一位是Spring数据。它需要定义哪些类型是驱动程序本机类型,以便Spring数据可以通过复杂类型传递,而不是试图映射这些类型。将R2DBC Postgres的类型视为简单类型是一个开放的问题。

然而,Spring数据中不支持JTS,因为主要关注的是持久性模型。

 类似资料:
  • 我试图将一个几何体对象存储到我的postgist数据库中,该数据库有一个带有几何体列的表。我从另一个带有几何列的表格中得到了几何值,我打印了我之前得到的值,结果没问题。要存储几何体值,我使用下一个函数: 但我总是得到这个错误: 组织。postgresql。util。PSQLException:无法推断用于org实例的SQL类型。波斯吉斯。指向使用带有显式类型值的setObject()指定要使用的类

  • 我正在尝试用库制作一个程序。 当我尝试访问一个头函数时,我得到了一个错误。 main.cpp: 测试h: 我是初学者,所以我真的不知道如何修复它或它的可能性。

  • 我正在做一个jsf项目(2.2版)。我在javascript中有一个GeoJson对象。另一边我有一个列与类型的测地(MultiPolygon,4326)在PostGIS.我使用的是Hibernate 4.3.8和Postgreql 9.3。 模型类中的几何图形列定义 我还将Hibernate Sspace al 4. x包含到我的项目中,我可以在托管bean中访问Geojson字符串。但是我不知

  • 我有一个名为UserRepository的通用存储库接口。然后我有一个接口,它从MyUserRepository扩展而来。它处理一个MyUser类,该类扩展了User。 我还有一个名为UserService的服务接口和一个名为MyUserServiceImpl的类。 该服务需要UserRepository的实例,我虽然可以使用某种注释,如@Qualifer,但它不起作用。 应用程序无法启动 说明:

  • 问题内容: 我很难理解存储库模式。 关于该主题有很多意见,例如在Repository模式中做得正确,但其他信息,例如Repository是新的Singleton或再次,例如在Do n’t use DAO use Repository中, 或者只是以某种方式使用Spring JPA Data + Hibernate + MySQL + MAVEN 存储库似乎与DAO对象相同。 我厌倦了阅读这些东西,

  • 问题内容: GitLab是一种免费的开放源代码方式,用于托管私有存储库,但它似乎不适用于Go。创建项目时,它将生成以下形式的URL: 哪里: 是gitlab服务器的IP地址 是有权访问私有存储库的用户组 Golang 1.2.1似乎不了解这种语法。 结果是: 有办法让它工作吗? 问题答案: 现在,此问题已在Gitlab 8. *中解决,但仍然不直观。确实,最困难的挑战是,以下步骤将使您克服这些挑战