【发布时间】:2021-01-20 04:36:50
【问题描述】:
我正在尝试查询由点定义的圆形区域中的所有property。
我在 Spring Boot 中使用以下功能实现了一个基本的 CRUDRepository,我希望使用该功能从一个点通过区域搜索属性。
@Query(value = "SELECT * FROM property p WHERE ST_DWithin(geography(p.location), geography(:center), :radius)", nativeQuery = true)
List<Property> searchPropertyByArea(@Param("center") Point center,
@Param("radius") Integer radius);
但我不断收到:错误:遇到无效的字节序标志值。
实体对象:
public class Property {
@Id
@GeneratedValue(generator = "UUID")
@GenericGenerator(name = "UUID", strategy = "org.hibernate.id.UUIDGenerator")
@Column(name = "id", columnDefinition = "uuid", updatable = false, nullable = false, unique = true)
private UUID id;
@Column(name = "location", nullable = true, columnDefinition = "geometry(POINT,4326)")
@JsonSerialize(using = PointSerializer.class)
@JsonDeserialize(using = PointDeserializer.class)
private Point location;
}
我正在使用的库是:
<dependency>
<groupId>net.postgis</groupId>
<artifactId>postgis-jdbc</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>5.4.4.Final</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-spatial</artifactId>
<version>5.4.27.Final</version>
</dependency>
我的application.properties
spring.jpa.database-platform=org.hibernate.spatial.dialect.postgis.PostgisPG95Dialect
【问题讨论】:
标签: postgresql spring-boot gis postgis