PostgisPG10Dialect 现在是否被 PostgreSQLDialect 取代?

Is PostgisPG10Dialect superseded by PostgreSQLDialect now?

提问人:Tim Lammarsch 提问时间:10/23/2022 最后编辑:SternKTim Lammarsch 更新时间:10/24/2022 访问量:1040

问:

我在 PostgreSQL 12.1 的 6.1 版中使用 hibernate-spatial 。

根据较旧的指南或这个问题,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”(当然,假设方言适合实际的 DBMS)。

基本上我在这里的问题是:这是在哪里记录的?搜索“PostgisDialectContributor”给我的搜索结果真的很少。

PostgreSQL postgis 休眠空间

评论


答:

3赞 Karel Maesen 10/24/2022 #1

是的,对于 Hibernate 6 及更高版本,大多数数据库不再需要 SpatialDialects。您只需要在类路径上安装 Hibernate Spatial 模块 jar,并且会自动添加 Spatial 支持(函数和 Hibernate 类型)。