title: Attribute "column"/"type" must be declared for element type "property"
body: <p>I am a newbie to hibernate configuration.At my Eclipse project,I am getting the hibernate error above.</p>
  
  <pre><code>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
  </code></pre>
  
  <p>In the PERSONDB class, there are five columns named as PERSON_ID, PERSON_FIRSTNAME, PERSON_LASTNAME, PERSON_GENDER, PERSON_AGE.</p>
  
  <p>domain-classes.hbm.xml:</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false">
  <div class="snippet-code">
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;!DOCTYPE hibernate-mapping
  PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN"
  "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"&gt;
  
  &lt;hibernate-mapping&gt;
   &lt;class table="Person" lazy="false" name="com.hibernate.data.Person" &gt;
    &lt;id column="PERSON_ID" type="int" name="id"  &gt;
     &lt;generator class="increment"/&gt;
    &lt;/id&gt;
     &lt;property column="PERSON_FIRSTNAME" type="string" name="firstName"/&gt;
     &lt;property column="PERSON_LASTNAME" type="string" name="lastName"/&gt;
     &lt;property column="PERSON_GENDER" type="string" name="gender"/&gt;
     &lt;property column="PERSON_AGE" type="integer" name="age" /&gt;
   &lt;/class&gt;
  &lt;/hibernate-mapping&gt;</code></pre>
  </div>
  </div>
  </p>
  
  <p>hibernate.cfg.xml:</p>
  
  <p><div class="snippet" data-lang="js" data-hide="false">
  <div class="snippet-code">
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"&gt;
          
  &lt;hibernate-configuration&gt;
   
   &lt;session-factory&gt;
   &lt;!-- Database connection settings --&gt;
   &lt;property name="hibernate.connection.driver_class"&gt;com.mysql.jdbc.Driver&lt;/property&gt;
   &lt;property name="connection.url"&gt;jdbc:mysql://localhost:3306/PERSONDB&lt;/property&gt;
   &lt;property name='connection.username'&gt;root&lt;/property&gt;
      &lt;property name='connection.password'&gt;root&lt;/property&gt;
      
   &lt;!-- SQL dialect --&gt;
   &lt;property name="hibernate.dialect"&gt;org.hibernate.dialect.MySQLDialect&lt;/property&gt;
   &lt;!-- Specify session context --&gt;
   &lt;property name="hibernate.current_session_context_class"&gt;org.hibernate.context.internal.ThreadLocalSessionContext&lt;/property&gt;
   &lt;!-- Show SQL --&gt;
   &lt;property name="show_sql"&gt;true&lt;/property&gt;
   &lt;!-- Referring Mapping File --&gt;
   &lt;mapping resource="domain-classes.hbm.xml"/&gt;
   &lt;mapping class="src/main/java/com.hibernate.data/Person"/&gt;
   &lt;/session-factory&gt;
  
  &lt;/hibernate-configuration&gt;</code></pre>
  </div>
  </div>
  </p>
  
  <p>Person.java:</p>
  
  <pre><code>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;
  }
  }
  </code></pre>
  
  <p>How can I fix this?</p>