Estoy trabajando en una aplicación Hibernate + MySQL de muestra tomada de aquí. No puedo conectarme a la base de datos cuando intento ejecutar el programa. Aquí está el seguimiento de la pila.

El contenido de hibernate.cfg.xml es el siguiente:

<?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>
    <!-- Database connection settings -->
    <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="connection.url">jdbc:mysql://localhost:3306/bookstore</property>
    <property name="connection.username">root</property>
    <property name="connection.password">helloWORLD12</property>
    <property name="show_sql">true</property>

    <mapping class="net.codejava.hibernate.Book" />

  </session-factory>
</hibernate-configuration>

¿A dónde me estoy yendo mal? He comprobado que el nombre de usuario y la contraseña de la base de datos son correctos.

2
pikaraider 10 sep. 2018 a las 16:44

3 respuestas

La mejor respuesta

Puede ser porque está utilizando una versión anterior del controlador MySQL. Deberías intentar usar la versión más nueva.

Para obtener la versión más reciente, puede verificar

Creo que de repente no deberíamos ir a una versión superior, ya que causa más problemas. Acabo de actualizar con la última versión 5.1.x. Puede descargarlo aquí o agregarlo a su pom.xml:

 <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.47</version>
</dependency>
2
Karthik 10 sep. 2018 a las 14:32

Basado en el problema de seguimiento de la pila es con el servidor al que no se puede acceder parece.

  1. Verifique si el servidor está activo. Si es posible, use el cliente para conectarse y verifique si está activo.
  2. Reinicie el servidor mysql una vez y compruebe el puerto también si es correcto.

Su configuración se ve bien y debería funcionar. Ejecute una prueba en el servidor y el puerto para verificar que está utilizando los correctos.

0
Anil Kumar 10 sep. 2018 a las 13:54

Probar esto

        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.username">root</property>
    <property name="hibernate.connection.password">helloWORLD12</property>
    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/bookstore</property>
    <property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
0
Gnk 10 sep. 2018 a las 14:45