在這里,我試圖找到所有在我提供的范圍內(nèi)的實(shí)體。我的意思是,如果我給出一個(gè)特定半徑的圓,它必須顯示所有實(shí)體的位置坐標(biāo)位于給定的圓內(nèi)。我正在使用休眠空間來(lái)實(shí)現(xiàn)這一點(diǎn)。但是在JPA存儲(chǔ)庫(kù)接口中獲得提到的錯(cuò)誤。這是 ,pom.xml<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-entitymanager</artifactId></dependency><dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-spatial</artifactId> <version>5.2.12.Final</version></dependency><dependency> <groupId>org.opengeo</groupId> <artifactId>geodb</artifactId> <version>${project.version}</version></dependency><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>6.0.6</version></dependency>Jpa Repository,public interface ResourceRepository extends ExtendedJpaRepository<Resource, String> { @Query(value = "select resource from Resource resource where within(resource.address.location, :circle) = true") List<Resource> test(@Param("circle") Geometry circle);}Resource.java,@Entity@NoArgsConstructorpublic class Resource extends UUIDEntity2 implements IsResource { @Type(type = "org.hibernate.spatial.GeometryType") @OneToOne private Address address; /*getters setters*/}Address.java,@Entitypublic class Address extends UUIDEntity2 implements HasEmailAddress, HasLocation { @Embedded @Column(columnDefinition = "point") private Location location; /*getters setters*/}location.java,@Embeddable@Value(staticConstructor = "of")@RequiredArgsConstructor(staticName = "of")public class Location implements Serializable { @Column(nullable = true) private Double lat; @Column(nullable = true) private Double lon;}測(cè)試 @Inject private ResourceRepository resourceRepository; public Geometry createCircle(double x, double y, double radius) { GeometricShapeFactory shapeFactory = new GeometricShapeFactory(); shapeFactory.setNumPoints(32); shapeFactory.setCentre(new Coordinate(x, y)); shapeFactory.setSize(radius * 2); return shapeFactory.createCircle(); }
org.hibernate.engine.jdbc.spi.SqlExceptionHelper
ibeautiful
2022-08-17 17:05:58