Spring ORM中配置Hibernate5版LocalSessionFactoryBean运行测试类报错
报错触发原因
- 核心触发根源是Hibernate方言类名拼写错误:
hibernate.dialect配置项中填写的org.hibernate.dialect.MYSQL57Dialect不存在。 - Hibernate 5.x版本中,MySQL 5.7对应的方言类名大小写严格匹配,正确类名仅首字母
M大写,后续为ySQL,错误的全大写MYSQL写法会直接导致类加载失败,抛出最底层的ClassNotFoundException,连锁引发后续JdbcEnvironment服务创建失败、factoryBean初始化异常。
对应解决方案
- 直接修正配置中的方言类名即可:
将原配置行<prop key="hibernate.dialect">org.hibernate.dialect.MYSQL57Dialect</prop>
修改为<prop key="hibernate.dialect">org.hibernate.dialect.MySQL57Dialect</prop> - 适配性补充:如果使用的是MySQL 8.x版本,可直接替换为适配8.x的方言类
org.hibernate.dialect.MySQL8Dialect,避免SQL语法兼容问题。
内容的提问来源于stack exchange,提问作者Mayank Kumar Thakur
相关产品推荐
相关产品推荐

