我是休眠配置的新手.在我的Eclipse项目中,我遇到了上面的休眠错误.
ERROR: org.hibernate.internal.util.xml.ErrorLogger - HHH000196: Error parsing XML (2) : Element type "hibernate-mapping" must be declared.
ERROR: org.hibernate.internal.util.xml.ErrorLogger - HHH000196: Error parsing XML (3) : Element type "class" must be declared.
ERROR: org.hibernate.internal.util.xml.ErrorLogger - HHH000196: Error parsing XML (4) : Element type "id" must be declared.
ERROR: org.hibernate.internal.util.xml.ErrorLogger - HHH000196: Error parsing XML (5) : Element type "generator" must be declared.
ERROR: org.hibernate.internal.util.xml.ErrorLogger - HHH000196: Error parsing XML (7) : Attribute "column" must be declared for element type "property".
ERROR: org.hibernate.internal.util.xml.ErrorLogger - HHH000196: Error parsing XML (7) : Attribute "type" must be declared for element type "property".
ERROR: org.hibernate.internal.util.xml.ErrorLogger - HHH000196: Error parsing XML (8) : Attribute "column" must be declared for element type "property".
ERROR: org.hibernate.internal.util.xml.ErrorLogger - HHH000196: Error parsing XML (8) : Attribute "type" must be declared for element type "property".
ERROR: org.hibernate.internal.util.xml.ErrorLogger - HHH000196: Error parsing XML (9) : Attribute "column" must be declared for element type "property".
ERROR: org.hibernate.internal.util.xml.ErrorLogger - HHH000196: Error parsing XML (9) : Attribute "type" must be declared for element type "property".
ERROR: org.hibernate.internal.util.xml.ErrorLogger - HHH000196: Error parsing XML (10) : Attribute "column" must be declared for element type "property".
ERROR: org.hibernate.internal.util.xml.ErrorLogger - HHH000196: Error parsing XML (10) : Attribute "type" must be declared for element type "property".
ERROR: org.hibernate.internal.util.xml.ErrorLogger - HHH000196: Error parsing XML (2) : Element type "hibernate-mapping" must be declared.
ERROR: org.hibernate.internal.util.xml.ErrorLogger - HHH000196: Error parsing XML (3) : Element type "class" must be declared.
ERROR: org.hibernate.internal.util.xml.ErrorLogger - HHH000196: Error parsing XML (4) : Element type "id" must be declared.
ERROR: org.hibernate.internal.util.xml.ErrorLogger - HHH000196: Error parsing XML (5) : Element type "generator" must be declared.
ERROR: org.hibernate.internal.util.xml.ErrorLogger - HHH000196: Error parsing XML (7) : Attribute "column" must be declared for element type "property".
ERROR: org.hibernate.internal.util.xml.ErrorLogger - HHH000196: Error parsing XML (7) : Attribute "type" must be declared for element type "property".
ERROR: org.hibernate.internal.util.xml.ErrorLogger - HHH000196: Error parsing XML (8) : Attribute "column" must be declared for element type "property".
ERROR: org.hibernate.internal.util.xml.ErrorLogger - HHH000196: Error parsing XML (8) : Attribute "type" must be declared for element type "property".
ERROR: org.hibernate.internal.util.xml.ErrorLogger - HHH000196: Error parsing XML (9) : Attribute "column" must be declared for element type "property".
ERROR: org.hibernate.internal.util.xml.ErrorLogger - HHH000196: Error parsing XML (9) : Attribute "type" must be declared for element type "property".
ERROR: org.hibernate.internal.util.xml.ErrorLogger - HHH000196: Error parsing XML (10) : Attribute "column" must be declared for element type "property".
ERROR: org.hibernate.internal.util.xml.ErrorLogger - HHH000196: Error parsing XML (10) : Attribute "type" must be declared for element type "property".
Exception in thread "main" org.hibernate.InvalidMappingException: Unable to read XML
at org.hibernate.internal.util.xml.MappingReader.legacyReadMappingDocument(MappingReader.java:375)
at org.hibernate.internal.util.xml.MappingReader.readMappingDocument(MappingReader.java:304)
at org.hibernate.cfg.Configuration.add(Configuration.java:516)
at org.hibernate.cfg.Configuration.add(Configuration.java:512)
at org.hibernate.cfg.Configuration.add(Configuration.java:686)
at org.hibernate.cfg.Configuration.addResource(Configuration.java:769)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:2255)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:2227)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2207)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2160)
at org.hibernate.cfg.Configuration.configure(Configuration.java:2075)
at org.hibernate.cfg.Configuration.configure(Configuration.java:2054)
at com.test.Main.main(Main.java:41)
Caused by: org.xml.sax.SAXParseException; lineNumber: 6; columnNumber: 20; Element type "hibernate-mapping" must be declared.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:203)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:437)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:368)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:325)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.handleStartElement(XMLDTDValidator.java:1906)
at com.sun.org.apache.xerces.internal.impl.dtd.XMLDTDValidator.startElement(XMLDTDValidator.java:742)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:379)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl$NSContentDriver.scanRootElementHook(XMLNSDocumentScannerImpl.java:605)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:3138)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(XMLDocumentScannerImpl.java:880)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:117)
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:848)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:649)
at org.dom4j.io.SAXReader.read(SAXReader.java:465)
at org.hibernate.internal.util.xml.MappingReader.legacyReadMappingDocument(MappingReader.java:325)
... 12 more
在PERSONDB类中,有五个列,分别名为PERSON_ID,PERSON_FIRSTNAME,PERSON_LASTNAME,PERSON_GENDER,PERSON_AGE.
domain-classes.hbm.xml:
/p>
PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
hibernate.cfg.xml:
/p>
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/PERSONDB
root
root
org.hibernate.dialect.MySQLDialect
org.hibernate.context.internal.ThreadLocalSessionContext
true
Person.java:
package com.hibernate.data;
public class Person {
private int id;
private String firstName;
private String lastName;
private String gender;
private int age;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
我怎样才能解决这个问题?