Estudando Java para WEB

Olá pessoal, sou novo aqui no GUJ e também não tenho experiência com Hibernate e Java Web.
Estou aprendendo seguindo o livro Java para WEB 1ª Edição. Estou com um sério problema que não consigo resolver de jeito nenhum. Me desculpem se já houver algum tópico do tipo mas seguindo as soluções desses tópicos não consigo resolver meu problema.

Minha estrutura do projeto:

Minha classe: HibernateUtil.java

package com.livro.capitulo3.conexao;

import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateUtil {
	
	private static final SessionFactory  sessionFactory = buildSessionFactory();
	
	private static SessionFactory buildSessionFactory()
	{
		try {
			Configuration cfg = new Configuration();
			cfg.configure("hibernate.cfg.xml");
			return cfg.buildSessionFactory();
		} catch (Throwable e) {
			System.out.println("Criação inicial do objeto SessionFactory falhou. Erro: "+ e);
			throw new ExceptionInInitializerError(e);
		}
	}
	
	public static SessionFactory getSessionFactory(){
		return sessionFactory;
	}
}

Arquivo Hibernate.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">
<hibernate-configuration>
	<session-factory>
		<!-- Configuração da conexão com o banco MySQL e dialeto -->
		<property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
		<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
		<property name="connection.url">jdbc:mysql://localhost/agenda</property>
		<property name="connection.username">yuri</property>
		<property name="connection.password">yuri1234</property>
		<property name="current_session_context_class">thread</property>
		<!-- Usando as configurações do C3PO para pool de conexões -->
		<property name="c3po.min_size">5</property>
		<property name="c3po.max_size">20</property>
		<property name="timeout">300</property>
		<property name="c3po.max_statements">50</property>
		<property name="c3po.idle_test_period">3000</property>
		<!-- Configurações de Debug -->
		<property name="show_sql"></property>
		<property name="format_sql">true</property>
		<property name="generate_statistics">true</property>
		<property name="use_sql_comments">true</property>
		<!-- Mapeando calsses -->
		<mapping resource="com/livro/capitulo3/crudxml/Contato.hbm.xml"/>
	</session-factory>
</hibernate-configuration>

Arquivo Hibernate.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">
<hibernate-mapping package="com.livro.capitulo3.crudxml">

    <class name="com.livro.capitulo3.crudxml.Contato" table="Contato">
		<id name="codigo" column="codigo" type="integer" >
			<generator class="increment"/>
		</id>
		<propety name="nome" type="string"/>
		<propety name="telefone" type="string"/>
		<propety name="email" type="string"/>
		<propety name="dataCadastro" column="dt_cad" type="date" />
		<propety name="observacao" column="obs" type="string"/>
	</class>

</hibernate-mapping>

Erro apresentado quando executo meu sistema:

mar 10, 2016 3:43:56 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {5.1.0.Final}
mar 10, 2016 3:43:56 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
mar 10, 2016 3:43:56 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
mar 10, 2016 3:43:56 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {5.0.1.Final}
Criação inicial do objeto SessionFactory falhou. Erro: org.hibernate.boot.InvalidMappingException: Could not parse mapping document: com/livro/capitulo3/crudxml/Contato.hbm.xml (RESOURCE)
Exception in thread "main" java.lang.ExceptionInInitializerError
	at com.livro.capitulo3.conexao.HibernateUtil.buildSessionFactory(HibernateUtil.java:18)
	at com.livro.capitulo3.conexao.HibernateUtil.<clinit>(HibernateUtil.java:8)
	at com.livro.capitulo3.conexao.ConectaHibernateMysql.main(ConectaHibernateMysql.java:17)
Caused by: org.hibernate.boot.InvalidMappingException: Could not parse mapping document: com/livro/capitulo3/crudxml/Contato.hbm.xml (RESOURCE)
	at org.hibernate.boot.jaxb.internal.InputStreamXmlSource.doBind(InputStreamXmlSource.java:46)
	at org.hibernate.boot.jaxb.internal.UrlXmlSource.doBind(UrlXmlSource.java:36)
	at org.hibernate.boot.spi.XmlMappingBinderAccess.bind(XmlMappingBinderAccess.java:59)
	at org.hibernate.boot.MetadataSources.addResource(MetadataSources.java:274)
	at org.hibernate.boot.cfgxml.spi.MappingReference.apply(MappingReference.java:70)
	at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:413)
	at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:87)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:692)
	at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:724)
	at com.livro.capitulo3.conexao.HibernateUtil.buildSessionFactory(HibernateUtil.java:15)
	... 2 more
Caused by: org.hibernate.boot.MappingException: Unable to perform unmarshalling at line number 11 and column 39. Message: cvc-complex-type.2.4.a: Foi detectado um conteúdo inválido começando com o elemento 'propety'. Era esperado um dos '{"http://www.hibernate.org/xsd/orm/hbm":discriminator, "http://www.hibernate.org/xsd/orm/hbm":natural-id, "http://www.hibernate.org/xsd/orm/hbm":version, "http://www.hibernate.org/xsd/orm/hbm":timestamp, "http://www.hibernate.org/xsd/orm/hbm":multi-tenancy, "http://www.hibernate.org/xsd/orm/hbm":idbag, "http://www.hibernate.org/xsd/orm/hbm":property, "http://www.hibernate.org/xsd/orm/hbm":many-to-one, "http://www.hibernate.org/xsd/orm/hbm":one-to-one, "http://www.hibernate.org/xsd/orm/hbm":component, "http://www.hibernate.org/xsd/orm/hbm":dynamic-component, "http://www.hibernate.org/xsd/orm/hbm":properties, "http://www.hibernate.org/xsd/orm/hbm":any, "http://www.hibernate.org/xsd/orm/hbm":map, "http://www.hibernate.org/xsd/orm/hbm":set, "http://www.hibernate.org/xsd/orm/hbm":list, "http://www.hibernate.org/xsd/orm/hbm":bag, "http://www.hibernate.org/xsd/orm/hbm":array, "http://www.hibernate.org/xsd/orm/hbm":primitive-array, "http://www.hibernate.org/xsd/orm/hbm":join, "http://www.hibernate.org/xsd/orm/hbm":subclass, "http://www.hibernate.org/xsd/orm/hbm":joined-subclass, "http://www.hibernate.org/xsd/orm/hbm":union-subclass, "http://www.hibernate.org/xsd/orm/hbm":loader, "http://www.hibernate.org/xsd/orm/hbm":sql-insert, "http://www.hibernate.org/xsd/orm/hbm":sql-update, "http://www.hibernate.org/xsd/orm/hbm":sql-delete, "http://www.hibernate.org/xsd/orm/hbm":filter, "http://www.hibernate.org/xsd/orm/hbm":fetch-profile, "http://www.hibernate.org/xsd/orm/hbm":resultset, "http://www.hibernate.org/xsd/orm/hbm":query, "http://www.hibernate.org/xsd/orm/hbm":sql-query}'. : origin(com/livro/capitulo3/crudxml/Contato.hbm.xml)
	at org.hibernate.boot.jaxb.internal.AbstractBinder.jaxb(AbstractBinder.java:177)
	at org.hibernate.boot.jaxb.internal.MappingBinder.doBind(MappingBinder.java:61)
	at org.hibernate.boot.jaxb.internal.AbstractBinder.doBind(AbstractBinder.java:102)
	at org.hibernate.boot.jaxb.internal.AbstractBinder.bind(AbstractBinder.java:57)
	at org.hibernate.boot.jaxb.internal.InputStreamXmlSource.doBind(InputStreamXmlSource.java:43)
	... 11 more
Caused by: javax.xml.bind.UnmarshalException
 - with linked exception:
[org.xml.sax.SAXParseException; lineNumber: 11; columnNumber: 39; cvc-complex-type.2.4.a: Foi detectado um conteúdo inválido começando com o elemento 'propety'. Era esperado um dos '{"http://www.hibernate.org/xsd/orm/hbm":discriminator, "http://www.hibernate.org/xsd/orm/hbm":natural-id, "http://www.hibernate.org/xsd/orm/hbm":version, "http://www.hibernate.org/xsd/orm/hbm":timestamp, "http://www.hibernate.org/xsd/orm/hbm":multi-tenancy, "http://www.hibernate.org/xsd/orm/hbm":idbag, "http://www.hibernate.org/xsd/orm/hbm":property, "http://www.hibernate.org/xsd/orm/hbm":many-to-one, "http://www.hibernate.org/xsd/orm/hbm":one-to-one, "http://www.hibernate.org/xsd/orm/hbm":component, "http://www.hibernate.org/xsd/orm/hbm":dynamic-component, "http://www.hibernate.org/xsd/orm/hbm":properties, "http://www.hibernate.org/xsd/orm/hbm":any, "http://www.hibernate.org/xsd/orm/hbm":map, "http://www.hibernate.org/xsd/orm/hbm":set, "http://www.hibernate.org/xsd/orm/hbm":list, "http://www.hibernate.org/xsd/orm/hbm":bag, "http://www.hibernate.org/xsd/orm/hbm":array, "http://www.hibernate.org/xsd/orm/hbm":primitive-array, "http://www.hibernate.org/xsd/orm/hbm":join, "http://www.hibernate.org/xsd/orm/hbm":subclass, "http://www.hibernate.org/xsd/orm/hbm":joined-subclass, "http://www.hibernate.org/xsd/orm/hbm":union-subclass, "http://www.hibernate.org/xsd/orm/hbm":loader, "http://www.hibernate.org/xsd/orm/hbm":sql-insert, "http://www.hibernate.org/xsd/orm/hbm":sql-update, "http://www.hibernate.org/xsd/orm/hbm":sql-delete, "http://www.hibernate.org/xsd/orm/hbm":filter, "http://www.hibernate.org/xsd/orm/hbm":fetch-profile, "http://www.hibernate.org/xsd/orm/hbm":resultset, "http://www.hibernate.org/xsd/orm/hbm":query, "http://www.hibernate.org/xsd/orm/hbm":sql-query}'.]
	at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.handleStreamException(Unknown Source)
	at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(Unknown Source)
	at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(Unknown Source)
	at org.hibernate.boot.jaxb.internal.AbstractBinder.jaxb(AbstractBinder.java:171)
	... 15 more
Caused by: org.xml.sax.SAXParseException; lineNumber: 11; columnNumber: 39; cvc-complex-type.2.4.a: Foi detectado um conteúdo inválido começando com o elemento 'propety'. Era esperado um dos '{"http://www.hibernate.org/xsd/orm/hbm":discriminator, "http://www.hibernate.org/xsd/orm/hbm":natural-id, "http://www.hibernate.org/xsd/orm/hbm":version, "http://www.hibernate.org/xsd/orm/hbm":timestamp, "http://www.hibernate.org/xsd/orm/hbm":multi-tenancy, "http://www.hibernate.org/xsd/orm/hbm":idbag, "http://www.hibernate.org/xsd/orm/hbm":property, "http://www.hibernate.org/xsd/orm/hbm":many-to-one, "http://www.hibernate.org/xsd/orm/hbm":one-to-one, "http://www.hibernate.org/xsd/orm/hbm":component, "http://www.hibernate.org/xsd/orm/hbm":dynamic-component, "http://www.hibernate.org/xsd/orm/hbm":properties, "http://www.hibernate.org/xsd/orm/hbm":any, "http://www.hibernate.org/xsd/orm/hbm":map, "http://www.hibernate.org/xsd/orm/hbm":set, "http://www.hibernate.org/xsd/orm/hbm":list, "http://www.hibernate.org/xsd/orm/hbm":bag, "http://www.hibernate.org/xsd/orm/hbm":array, "http://www.hibernate.org/xsd/orm/hbm":primitive-array, "http://www.hibernate.org/xsd/orm/hbm":join, "http://www.hibernate.org/xsd/orm/hbm":subclass, "http://www.hibernate.org/xsd/orm/hbm":joined-subclass, "http://www.hibernate.org/xsd/orm/hbm":union-subclass, "http://www.hibernate.org/xsd/orm/hbm":loader, "http://www.hibernate.org/xsd/orm/hbm":sql-insert, "http://www.hibernate.org/xsd/orm/hbm":sql-update, "http://www.hibernate.org/xsd/orm/hbm":sql-delete, "http://www.hibernate.org/xsd/orm/hbm":filter, "http://www.hibernate.org/xsd/orm/hbm":fetch-profile, "http://www.hibernate.org/xsd/orm/hbm":resultset, "http://www.hibernate.org/xsd/orm/hbm":query, "http://www.hibernate.org/xsd/orm/hbm":sql-query}'.
	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
	at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(Unknown Source)
	at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(Unknown Source)
	at com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorHandlerImpl.startElement(Unknown Source)
	at com.sun.xml.internal.bind.v2.runtime.unmarshaller.ValidatingUnmarshaller.startElement(Unknown Source)
	at com.sun.xml.internal.bind.v2.runtime.unmarshaller.InterningXmlVisitor.startElement(Unknown Source)
	at com.sun.xml.internal.bind.v2.runtime.unmarshaller.StAXEventConnector.handleStartElement(Unknown Source)
	at com.sun.xml.internal.bind.v2.runtime.unmarshaller.StAXEventConnector.bridge(Unknown Source)
	... 18 more