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

时间:2020-06-10 04:59:53

标签: spring-boot postgis reactive spring-data-r2dbc r2dbc

我有几个与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 个答案:

答案 0 :(得分:0)

r2dbc还不支持空间数据。

答案 1 :(得分:0)

几何状态和R2DBC Postgres驱动程序还有很多。请注意,该空间中的所有事物都在不断发展,因此事物可能会迅速改变。

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

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

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

最后一位是Spring Data。它需要定义哪些类型是驱动程序本机类型,以便Spring Data可以通过复杂类型,而不是尝试映射这些类型。有an open ticket将R2DBC Postgres的类型视为简单类型。

但是,Spring Data不支持JTS,因为主要关注的是持久性模型。