Hibernate连接数据库报错:java.lang.UnsupportedOperationException
Hibernate数据库连接报错排查求助
我的Hibernate配置文件如下:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <property name ="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="connection.driver_class">com.mysql.cj.jdbc.Driver</property> <property name ="conection.url">jdbc:mysql://localhost:3306/employeesdb</property> <property name ="connection.username">root</property> <property name ="connection.password">password@123</property> <property name ="hbm2ddl.auto">update</property> <property name ="show_sql">true</property> <property name="current_session_context_class">thread</property> <mapping class = "com.start.Student"></mapping> </session-factory> </hibernate-configuration>
尝试连接数据库时触发报错:
Exception in thread "main" java.lang.UnsupportedOperationException: The application must supply JDBC connections
已确认数据库用户名和密码正确,请求协助排查问题。
问题排查与修复建议
修正配置项拼写错误
配置文件里的conection.url存在拼写错误,正确的键名应为connection.url。这个错误会导致Hibernate无法读取JDBC连接地址,无法自动创建数据库连接,进而触发上述报错。修正后的配置项:<property name="connection.url">jdbc:mysql://localhost:3306/employeesdb</property>补充检查点
- 确认MySQL服务处于运行状态,端口3306可正常访问
- 检查
employeesdb数据库是否已创建 - 若使用MySQL 8.0+版本,建议将方言改为
org.hibernate.dialect.MySQL8Dialect(适配新版本特性) - 确认主程序中SessionFactory初始化逻辑正确,比如使用
new Configuration().configure().buildSessionFactory()加载配置
内容的提问来源于stack exchange,提问作者Indolent Guy
相关产品推荐
相关产品推荐

