转载至博客园
在做项目时通常用hibernate框架来进行数据库的一些操作,但是有时候网络条件差或者不联网的情况下,在对数据库进行增删改查操作时,总是会报下面的异常:
Exception in thread "main" org.hibernate.HibernateException: Could not parse configuration: /hibernate.cfg.xml at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1418) at org.hibernate.cfg.Configuration.configure(Configuration.java:1352) at org.hibernate.cfg.Configuration.configure(Configuration.java:1338) at org.wjp.hibernate.ExportDB.main(ExportDB.java:8) Caused by: org.dom4j.DocumentException: www.hibernate.org Nested exception: www.hibernate.org at org.dom4j.io.SAXReader.read(SAXReader.java:484) at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1408) ... 3 more
之前在做时没在意这些,后来通过查了一些资料,才知道了问题出现的原因所在。
我们可以看一下hibernate.cfg.xml文件的开始部分有如下代码:
<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"
而一般的xx.hbm.xml文件的开始部分代码如下:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
原因就出现在dtd文件那里,因为hibernate的两个配置文件分别都会默认去上面两个加粗的网站去找,所以当使用hibernate进行数据库操作时,如果你的
网络环境不好或者没联网,此时配置文件无法访问指定的dtd验证文件,所以才会出现xml无法解析的异常。
所以解决该问题的方法就是:在需要使用hibernate的项目里,通常在该项目中建立一个文件夹,里面用来存放用于验证 hibernate.cfg.xml的dtd文件和验证xx.hbm.xml的dtd文件,例如如下代码,我在我的项目下建立了一个dtd文件夹,里面放 了hibernate-configuration-3.0.dtd文件和hibernate-mapping-3.0.dtd文件:
xx.hbm.xml代码: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "dtd/hibernate-mapping-3.0.dtd"> hibernate.cfg.xml代码: <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "dtd/hibernate-configuration-3.0.dtd">
这时无论在联网或者非联网环境下使用hibernate时,其都会去你指定的路径去找对应的dtd,而不会去hibernate的官网去找对应的dtd,这样就不好再出现上面的xml无法解析的异常了。
相关推荐
hibernate配置,详细的讲了hibernate用的配置文件和方法,可以哦
hibernate配置文件 里面提供了连接数据库 数据库使用的方言 是否打印SQL语句 sql语句的格式 以及对象-关系映射文件的地址等
在myeclipse中配置hibernate 自动生成配置文件在myeclipse中配置hibernate 自动生成配置文件
逆向生成hibernate配置文件逆向生成hibernate配置文件逆向生成hibernate配置文件逆向生成hibernate配置文件逆向生成hibernate配置文件逆向生成hibernate配置文件
这是最新的hibernate的下载和安装包。hibernate配置文件主要是用于配置数据库连接、事务管理,以及指定hibernate本省的配置信息和hibernate的映射文件信息。
Hibernate学习的必备,包含了Hibernate的配置文件,MySQL的连接jar文件
Hibernate核心配置文件在配置的时候有很多需要配置的内容,比如数据库地址,用户名,密码等。在这张对照表里面都能找到。
Hibernate配置文件Hibernate配置文件Hibernate配置文件
hibernate--5.Hibernate配置文件详解
Hibernate自动生成配置文件(配图)
spring整合struts2与hibernate核心配置文件
Hibernate配置文件hibernate.cfg.xml中配置信息详解!
Hibernate4 jar包及配置文件
hibernateJar包及配置文件
关于hibernate的配置文件hibernate1.cfg.xml
在 javaweb 开发时会用到三大框架ssh 其中hibernate的使用要先配置一下映射的文件,你可以通过下载此代码作为参考
使用反射机制修改加载到内存的Hibernate配置文件,使用该方法可以将数据库的配置信息提取到别的路径下。
《Hibernate 各类映射文件与配置文件模板》HibernateMappingConfig.zip
如何使用用myeclipse自动生成hibernate配置文件
struts2+spring+hibernate 配置文件struts2+spring+hibernate 配置文件