提问人:Eric Murphy 提问时间:9/20/2022 最后编辑:Eric Murphy 更新时间:10/2/2022 访问量:411
错误:Hibernate 6 和 Spring Boot 3 遇到无效的 endian 标志值
Error: Invalid endian flag value encountered with Hibernate 6 and Spring Boot 3
问:
我在使用 PostGIS 和 Spring Boot 3.0 的 Hibernate Spatial 6 时遇到了一些问题。这个项目我已经拍摄并升级到 SB 3.0 快照:https://github.com/murphye/spring-boot-postgis/tree/3.0
当我尝试运行查询时,我收到此错误:
Caused by: org.postgresql.util.PSQLException: ERROR: Invalid endian flag value encountered.
我正在设置方言,但据说使用 Hibernate 6,这应该不再是必要的:
database-platform: org.hibernate.spatial.dialect.postgis.PostgisPG10Dialect
以下是导致问题的列:
@Column(columnDefinition = "geometry(Point,4326)")
private Point geom;
和查询:
@Query(value="SELECT * from us_cities where ST_DistanceSphere(geom, :p) < :distanceM", nativeQuery = true)
关于问题可能是什么的任何想法?它在 Spring Boot 2.5 中工作。谢谢。
答:
0赞
Eric Murphy
10/2/2022
#1
更新:我得到了这个工作。我不得不进行一些调整,但主要的变化是使用 locationtech 包而不是 vividsolutions。我相信 Hibernate 6 可能需要此更改。
我还必须使用与 locationtech 一起使用的 jackson-datatype-jts 分支。
我还能够注释掉一些 Hibernate 6 不再需要的 Spring Boot 配置(例如 database-platform)。
代码位于 3.0 分支上:https://github.com/murphye/spring-boot-postgis/tree/3.0
评论