我有几个与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;
}
答案 0 :(得分:0)
r2dbc还不支持空间数据。
答案 1 :(得分:0)
几何状态和R2DBC Postgres驱动程序还有很多。请注意,该空间中的所有事物都在不断发展,因此事物可能会迅速改变。
从0.8.5版开始,R2DBC Postgres驱动程序支持Postgres内部几何类型(point
,line
,…)。可以通过驱动程序类型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,因为主要关注的是持久性模型。