2017-01-02 6 views
0

Я использую Spring Boot для проекта. Я работаю над использованием пространственных данных. Для пространственных данных я использую Hibernate Spatial. Это конфигурация для моего лица:Spring Java JPA: использование спецификации с пространством с гибернацией

@Column(name="LOCATION",columnDefinition="geometry(Point,4326)") 
private Point location; 

Где Point относится к классу com.vividsolutions.jts.geom.Point. Это также включает геттер и сеттер.

При извлечении этого объекта с нормальным repository.findOne("id") это также включает в себя местоположение в моем результате, отображаемое в точку. Тем не менее, мне нужно иметь некоторую динамическую систему запросов позже в системе. Поэтому я также запрашиваю данные с классом, который наследует от org.springframework.data.jpa.domain.Specification. При использовании этой спецификации местоположение всегда null. SQL-отладочная информация показывает мне, что местоположение извлекается из базы данных, но по какой-то причине это не отображается на объект объекта.

Моя весенняя версия версии 1.4.0.RELEASE. Данные поступают из базы данных mysql.

Будем очень благодарны за помощь в получении геометрических данных с использованием Specification.

ответ

0

Я тестировал то же самое с Mysql Spatial и извлекал данные, применяя запрос с использованием Спецификаций. Я мог бы получить пространственные данные.

Вот несколько указателей, которые вы можете попробовать.

  1. Убедитесь, что вы установили диалект, который поддерживает пространственный запрос и типы.

    spring.jpa.properties.hibernate.dialect = org.hibernate.spatial.dialect.mysql.MySQL56InnoDBSpatialDialect

  2. Нет необходимости определять определение столбца.

Удалить columnDefinition="geometry(Point,4326)

+0

Спасибо за ваш ответ. К несчастью это не помогает. Я думаю, что проблема заключается в org.hibernate.jpamodelgen.JPAMetaModelEntityProcessor. Я не вижу атрибута для любого типа геометрии в моих сгенерированных моделях. Я что-то забыл в своем определении плагина? Я использую maven. – Cerebres

+0

Когда я изменяю свое определение с точки на геометрию, он добавляется в метамодель, но значение остается равным нулю. – Cerebres

+0

@Cerebres BTW, какая версия весенней загрузки и спящего режима вы используете. Я тестировал с моментальным снимком с пружинной загрузкой 2.0.0 и спящим 5.2.5 –

 Смежные вопросы

  • Нет связанных вопросов^_^