R2DBC 存储库如何与 Postgis 几何图形一起使用?

How does a R2DBC repository work with Postgis geometries?

我有几个与 Spring Data JPA 一起工作的实体 classes。 (这些实体 classes 在安装了 postgis 的 postgres 数据库中并包含几何字段。)

但是,当我切换到 r2dbc 时,它不起作用。任何指针将不胜感激。

错误原因:java.lang.IllegalStateException:找不到 class 所需的标识符 属性 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;
}

r2dbc 尚不支持空间数据。

几何状态和 R2DBC Postgres 驱动程序还有更多内容。请注意,此 space 中的所有内容都在不断发展,因此事情可能会很快发生变化。

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

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

Postgis JDBC 驱动程序最近收到了一个功能请求,要求 R2DBC PostGIS support

最后一位是 Spring 数据。它需要定义哪些类型是 driver-native 类型,因此 Spring 数据可以 pass-thru 复杂类型,而不是试图映射这些类型。 an open ticket 将 R2DBC Postgres 的类型视为简单类型。

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