这个问题是地理信息系统堆栈交换的migrated,因为它可以在14天前的堆栈溢出.Migrated上回答。
我一直在尝试将一个使用PostGIS的现有应用程序从Spring 5移植到Spring 6。我收到一个错误消息,说org. hib. spatial. dialect. postgis. PostgisDialect不再可用:
任务:packages:discover-app-back-api:引导运行失败原因:org.hibernate.service.spi.ServiceException:无法创建请求的服务组织。hibernate.engine.jdbc.env.spi.JdbcEnvironment]原因是:发生异常:无法将名称[org. hib. spatial. dialect. postgis. PostgisDialect]解析为策略[org. hib. dialect. Dialect],原因是:org.hibernate.boot.registry.classloading.spi.ClassLoadingException:无法加载类[org. hib. spatial. dialect. postgis. postgisDialect],原因是:java.lang.ClassNotFoundException:无法加载请求的类:org.hibernate.spatial.dialect.postgis.PostgisDialect
- Spring Boot3.0.2
- spring security 6.0.1
- 休眠6.1.6
实际上,这个类在6.X版本中不再可用。我应该使用什么配置?
1条答案
按热度按时间xn1cxnb41#
您不再需要指定方言:
PostgisDialect类最初被PostgisPG 9 xDialect/PostgisPG 10 Dialect类取代,但现在这些类也被弃用(“不再需要SpatialDialect”)。
所以正确的方言是默认的(org.hibernate.dialect. PostgreSQL方言)。
但是由于它是默认的,所以没有必要在Spring-Boot应用程序中指定它,默认驱动程序和方言都可以从spring.datasource.url中指定的内容派生出来