공간 데이터를 사용하는 프로젝트에 Spring Boot를 사용하고 있습니다. 공간 데이터에 대해 저는 Hibernate Spatial을 사용하고 있습니다.Spring Java JPA : 최대 절전 모드에서 사양 사용
@Column(name="LOCATION",columnDefinition="geometry(Point,4326)")
private Point location;
Point
클래스 com.vividsolutions.jts.geom.Point
이다 : 이것은 내 엔터티의 구성입니다. 여기에는 getter와 setter도 포함됩니다.
이 엔티티를 보통 repository.findOne("id")
과 함께 검색 할 때 내 결과의 위치도 포인트에 매핑됩니다. 그러나 나중에 시스템에서 동적 쿼리 시스템이 필요합니다. 그래서 따라서 org.springframework.data.jpa.domain.Specification
에서 상속 한 클래스를 사용하여 데이터를 쿼리합니다. 이 사양을 사용할 때 위치는 항상 null
입니다. SQL 디버그 정보는 위치가 데이터베이스에서 검색되었음을 보여 주지만 어떤 이유로 엔티티 개체에 매핑되지 않습니다.
스프링 부트 버전은 1.4.0.RELEASE입니다. 데이터는 mysql 데이터베이스에서 가져옵니다.
Specification
을 사용하여 지오메트리 데이터를 검색하는 데 도움을 주실 수 있습니다.
columnDefinition="geometry(Point,4326)
이 답변에 감사드립니다 제거합니다. 불행히도 이것은 도움이되지 않습니다. 나는 문제가 org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor 내에 있다고 생각한다. 생성 된 모델 내에서 모든 지오메트리 유형에 대한 속성이 표시되지 않습니다. 내 플러그인 정의에서 뭔가를 잊었나요? 나는 Maven을 사용하고있다. – Cerebres포인트를 지오메트리로 변경하면 메타 모델에 추가되지만 값은 null로 유지됩니다. – Cerebres
@Cerebres 사용중인 봄 부팅 및 최대 절전 모드의 버전입니다. 스프링 부트 2.0.0 스냅 샷으로 테스트하고 최대 절전 모드로 5.2.5 –