Fiz os testes conforme o teu hibernate.cfg, e rodou bem aqui:
390 [main] INFO org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl - HHH000402: Using Hibernate built-in connection pool (not for production use!)
397 [main] INFO org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl - HHH000115: Hibernate connection pool size: 20
397 [main] INFO org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl - HHH000006: Autocommit mode: false
397 [main] INFO org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl - HHH000401: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://localhost:3306/test]
397 [main] INFO org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl - HHH000046: Connection properties: {user=root, password=root}
426 [main] DEBUG org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl - Opening new JDBC connection
721 [main] DEBUG org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl - Created connection to: jdbc:mysql://localhost:3306/test, Isolation Level: 4
721 [main] DEBUG org.hibernate.engine.jdbc.internal.JdbcServicesImpl - Database ->
name : MySQL
version : 5.5.19
major : 5
minor : 5
722 [main] DEBUG org.hibernate.engine.jdbc.internal.JdbcServicesImpl - Driver ->
name : MySQL-AB JDBC Driver
version : mysql-connector-java-5.1.19 ( Revision: [email removido]-20111003110438-qfydx066wsbydkbw )
major : 5
minor : 1
722 [main] DEBUG org.hibernate.engine.jdbc.internal.JdbcServicesImpl - JDBC version : 4.0
742 [main] INFO org.hibernate.dialect.Dialect - HHH000400: Using dialect: org.hibernate.dialect.MySQLDialect
852 [main] DEBUG org.hibernate.internal.SessionFactoryRegistry - Initializing SessionFactoryRegistry : org.hibernate.internal.SessionFactoryRegistry@52da37d8
856 [main] DEBUG org.hibernate.internal.SessionFactoryRegistry - Registering SessionFactory: 8c60f94d-01b2-4b49-8fd8-2453afd0cfd7 (<unnamed>)
856 [main] DEBUG org.hibernate.internal.SessionFactoryRegistry - Not binding SessionFactory to JNDI, no JNDI name configured
856 [main] DEBUG org.hibernate.internal.SessionFactoryImpl - Instantiated session factory
856 [main] DEBUG org.hibernate.internal.SessionFactoryImpl - Checking 0 named HQL queries
856 [main] DEBUG org.hibernate.internal.SessionFactoryImpl - Checking 0 named SQL queries
862 [main] DEBUG org.hibernate.stat.internal.StatisticsInitiator - Statistics initialized [enabled=false]
911 [main] DEBUG org.hibernate.internal.SessionImpl - Opened session at timestamp: [telefone removido]
915 [main] DEBUG org.hibernate.internal.SessionFactoryImpl - HHH000031: Closing
916 [main] INFO org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl - HHH000030: Cleaning up connection pool [jdbc:mysql://localhost:3306/test]
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1.023 sec
Usei o seguinte hibernate.cfg:
<session-factory>
<property name="show_sql">true</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>
</session-factory>
A única diferença entre o nosso é que estou rodando por fora, e não tenho o Dialect. Remova o Dialect do teu para ver como fica, embora eu ache que não é isso.
Outra sugestão é criar um servlet para conectar no banco de dados, para fazer um teste e ver se é algum problema com o tomcat:
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/test", "root", "root");
System.out.println(conn);