Я использую hibernate-spatial в версии 6.1 с PostgreSQL 12.12.
Согласно старым руководствам или этому вопросу, org.hibernate.spatial.dialect.postgis.PostgisDialect правильный диалект для использования. Однако этого диалекта больше не существует. Новейшим PostgisDialect является PostgisPG10Dialect. Этот диалект говорит мне, что он заменен org.hibernate.dialect.PostgreSQLDialect.
Я в замешательстве, потому что это противоположно всему, что я мог найти в Интернете. Тем не менее, если я следую совету, который дает мне мой жизненный код, я получаю следующее:
INFO: HHH000400: Using dialect: org.hibernate.dialect.PostgreSQLDialect
Okt. 22, 2022 6:11:11 PM org.hibernate.spatial.dialect.postgis.PostgisDialectContributor contributeJdbcTypes
INFO: HHH80000003: hibernate-spatial adding type contributions from : org.hibernate.spatial.dialect.postgis.PostgisDialectContributor
Это позволяет мне предположить, что с версией (6?) hibernate-spatial изменился с собственного диалекта на наличие «DialectContributer», который загружается автоматически и добавляется к любому используемому диалекту (конечно, при условии, что диалект подходит для фактической СУБД) .
В основном мой вопрос здесь: где это задокументировано? Поиск «PostgisDialectContributor» дает очень мало результатов поиска.
Да, для Hibernate 6 и более поздних версий вам больше не нужны SpatialDialects для большинства баз данных. Вам нужно только иметь jar модуля Hibernate Spatial в пути к классам, и поддержка Spatial (функции и типы Hibernate) будет добавлена автоматически.