Hibernate XML配置错误解决:启动报HibernateException
问题解决步骤
1. 修复XML解析格式错误
报错核心是XML解析器要求DOCTYPE的publicId和systemId之间必须有空格,且你的配置缺少标准的publicId声明。将hibernate.cfg.xml中的DOCTYPE部分替换为:
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
2. 修复数据库密码属性拼写错误
配置里的<property name="connction.password">存在拼写错误,少了一个字母e,应修改为:
<property name="connection.password">Kunal@1234@</property>
修复后的完整配置文件
<?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="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost:3306/myhiber</property> <property name="connection.username">root</property> <property name="connection.password">Kunal@1234@</property> <property name="dialect">org.hibernate.dialect.MySQLDialect</property> <property name="hbm2ddl.auto">update</property> <property name="show_sql">true</property> </session-factory> </hibernate-configuration>
额外检查项
- 确认配置文件放置在项目类路径根目录(如Maven项目的
src/main/resources) - 确保MySQL服务正常运行,
myhiber数据库已创建 - 若使用MySQL 8.0+,建议将驱动类改为
com.mysql.cj.jdbc.Driver,并在URL后追加时区参数:jdbc:mysql://localhost:3306/myhiber?serverTimezone=UTC
内容的提问来源于stack exchange,提问作者Krunal Brahmankar
相关产品推荐
相关产品推荐

