开始我是出现了:
Caused by: org.dom4j.DocumentException: http://www.jboss.org/dtd/hibernate/hibernate-mapping-3.0.dtd%20 Nested exception: http://www.jboss.org/dtd/hibernate/hibernate-mapping-3.0.dtd%20at org.dom4j.io.SAXReader.read(SAXReader.java:484)at
org.hibernate.internal.util.xml.MappingReader.readMappingDocument(MappingReader.java:78)
这样的报错
这个报错的原因是hibernate的项目地址换过了,所以dtd的文件地址也换了,这个需要将cfg.cml文件和hbm.xml文件中的http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd均换成了http://www.jboss.org/dtd/hibernate/hibernate-mapping-3.0.dtd
但是接下来又出现了
org.xml.sax.SAXParseException; lineNumber: 6; columnNumber: 26; 必须声明元素类型 "hibernate-configuration"。的报错
这个报错的原因依旧是这两个文件的表头,这两个文件的表头是有细微区别的,具体如下:
cfg.xml:
<?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">
hbm.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
在使用Hibernate4时遇到了由于DTD文件地址更改导致的DocumentException,通过将cfg.xml和hbm.xml中旧的DTD地址替换为新的地址解决了问题。但随后出现SAXParseException,原因是两个文件的DOCTYPE声明不一致。修正cfg.xml和hbm.xml的DOCTYPE声明,确保它们分别对应正确的DTD文件,从而消除错误。

被折叠的 条评论
为什么被折叠?



