PostgisDialect против PostgreSQLDialect или оба?

Мое приложение будет использовать следующие технологии:

  • PostgreSQL
  • Постгис
  • JPA/спящий режим
  • Весна
  • Спринг-данные JPA

Я понимаю (из документации Hibernate Spatial), что нужно использовать следующий диалект: org.hibernate.spatial.dialect.postgis.PostgisDialect

Чего я не понимаю, так это того, как приведенный выше диалект относится к стандартному диалекту Posgresql, то есть org.hibernate.dialect.PostgreSQLDialect...

Является ли диалект Postgis надмножеством стандартного диалекта Posgresql?

Будут ли все функции последнего стандартного диалекта Posgresql доступны в диалекте Postgis?

Я предполагаю, что я не могу использовать несколько/множество диалектов на одной и той же фабрике entityManager... Тогда каковы наилучшие методы, чтобы получить лучшее из обоих диалектов?


person balteo    schedule 30.05.2014    source источник


Ответы (1)


PostgisDialect фактически расширяет диалект Postgresql, так что да, это надмножество. См. объявление класса: объявление класса PostgisDialect

Здесь есть хороший учебник: Пространственный спящий режим с Postgis, который показывает, что вам нужно только включить диалект Postgis, чтобы сохранить как пространственные, так и непространственные поля.

Основной Postgis обеспечивает поддержку пространственных объектов поверх Postgresql. Установка Postgis также включает GEOS (порт C++ для Java Topology Suite), который предоставляет множество актуальных геометрических функций, Proj4, обеспечивающий поддержку различных систем/проекций координат, и GDAL, утилиту преобразования между различными форматами географических данных.

person John Powell    schedule 31.05.2014
comment
Применить к Grails 4 - person Juan Salvador; 04.08.2019