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 几何类型(point
、line
、…)。这些可以通过驱动类型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,因为主要关注点是持久性模型。
我有几个与 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 几何类型(point
、line
、…)。这些可以通过驱动类型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,因为主要关注点是持久性模型。