You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot连接SQL Server报hibernate.dialect未设置异常咨询

Spring Boot连接SQL Server报hibernate.dialect未设置错误解决方案

核心问题

你触发的org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set异常,核心原因是方言配置的属性键名错误,同时存在方言版本选择不当的问题:

  1. 你使用的spring.jpa.hibernate.dialect是错误的配置前缀,Hibernate原生配置需要放在spring.jpa.properties前缀下
  2. Hibernate官方没有提供SQLServer2018Dialect,SQL Server 2012及以上版本统一使用SQLServer2012Dialect即可

修正后的完整配置

spring.datasource.url=jdbc:sqlserver://192.168.134.92;databaseName=Attendance_Device
spring.datasource.username=emon
spring.datasource.password=1234
spring.datasource.driver-class-name=com.microsoft.sqlserver.jdbc.SQLServerDriver
#spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.SQLServer2012Dialect
spring.jpa.hibernate.ddl-auto = false

其他可能的排查项

如果修正配置后依然报错,按以下顺序排查:

  • 确认数据库连接信息无误:使用Navicat等客户端,用配置中的IP、账号、密码可正常连接目标SQL Server实例,访问Attendance_Device库
  • 确认项目依赖中已引入正确的SQL Server JDBC驱动,不存在依赖冲突
  • 可选择省略方言手动配置,新增spring.jpa.database=sql_server配置项,让Spring Boot自动匹配适配的Hibernate方言

内容的提问来源于stack exchange,提问作者Bulbul Ahmed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 05:18:02