您的位置:首页 > 其它

Hibernate xml配置出错

2013-04-15 22:48 246 查看
Exception in thread "main" org.hibernate.InvalidMappingException: Unable to read XML

at org.hibernate.util.xml.MappingReader.readMappingDocument(MappingReader.java:101)

at org.hibernate.cfg.Configuration.add(Configuration.java:513)

at org.hibernate.cfg.Configuration.add(Configuration.java:509)

at org.hibernate.cfg.Configuration.add(Configuration.java:716)

at org.hibernate.cfg.Configuration.addResource(Configuration.java:801)

at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:2344)

at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:2310)

at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2290)

at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2243)

at org.hibernate.cfg.Configuration.configure(Configuration.java:2158)

at org.hibernate.cfg.Configuration.configure(Configuration.java:2137)

at test.message.PopulateMessages.main(PopulateMessages.java:34)

Caused by: org.xml.sax.SAXParseException: Document root element "hibernate-mapping", must match DOCTYPE root "hibernate-configuration".

at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)

at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131)

at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384)

at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318)

at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.rootElementSpecified(XMLDTDValidator.java:1621)

at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleStartElement(XMLDTDValidator.java:1900)

at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(XMLDTDValidator.java:764)

at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:400)

at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:626)

at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3095)

at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:921)

at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)

at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:140)

at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)

at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)

at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)

at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)

at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)

at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)

at org.dom4j.io.SAXReader.read(SAXReader.java:465)

at org.hibernate.util.xml.MappingReader.readMappingDocument(MappingReader.java:75)

... 11 more

查找后发现是POJO的xml配置文件使用了Hibernate的头配置文件

把POJO的xml配置文件(下面这个是Hibernate的配置头文件,由于不是自动生成,当时写时直接从Hibernate.cfg.xml中拷贝过来)

<!DOCTYPE hibernate-configuration PUBLIC

"-//Hibernate/Hibernate Configuration DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

改成POJO xml配置文件

<!DOCTYPE hibernate-mapping PUBLIC

"-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">

的头就可以了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: