一尘不染

休眠空间5-GeometryType

hibernate

将Hibernate-spatial升级到5.0.0.CR2版本后,以下声明不再起作用:

@Column(columnDefinition = "geometry(Point,4326)")
@Type(type = "org.hibernate.spatial.GeometryType")
private Point position;

与:

org.hibernate.boot.registry.classloading.spi.ClassLoadingException: Unable to load class [org.hibernate.spatial.GeometryType]

如我所见,该类不再存在于Jar文件中。GeometryType发生了什么以及如何替换?还是要包含另一个jar文件?

编辑:为澄清。我正在结合使用Hibernate-Spatial和PostgreSQL-Postgis数据库。


阅读 245

收藏
2020-06-20

共1个答案

一尘不染

那么解决方案太容易看到了。只需删除@Type批注,则声明如下所示:

@Column(columnDefinition = "geometry(Point,4326)")
private Point position;

资料来源

请注意@Type批注。这将通知Hibernate
location属性为Geometry类型。@Type注释是特定于Hibernate的,并且是唯一需要的非JPA注释。(在将来的Hibernate版本(版本5和更高版本)中,将不再需要显式声明“几何类型”值的属性。)

2020-06-20