Я пытаюсь работать с базами данных в JAVA. Поэтому я скачал MySQL, установил пароль для своего root пользователя и создал схему JH. База данных работает на локальном порту 3306.
Теперь я хочу сохранять данные и получать доступ к ним, используя спящий режим. Мой 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>
<property name="hibernate.current_session_context_class">
thread
</property>
<property name="connection.url">
jdbc:mysql://localhost:3306/JH
</property>
<property name="connection.driver_class">
com.mysql.jdbc.Driver
</property>
<property name="connection.username">
root
</property>
<property name="conenction.password">
Password
</property>
<property name="dialect">
org.hibernate.dialect.MySQL5Dialect
</property>
<mapping resource="Movie.hbm.xml" />
</session-factory>
</hibernate-configuration>
Я проверил, была ли база данных JH запущена на порту 3306 с mysqlshow .
Теперь, когда я пытаюсь установить sh соединение с базой данных, используя:
Session session = sessionFactory.getCurrentSession();
session.beginTransaction();
Метод beginTransaction выдает GenericJDBCException: не удалось открыть соединение :
Caused by: java.sql.SQLException: Access denied for user 'root'@'localhost' (usi
ng password: NO)
Что меня немного смущает, так это то, что в сообщении говорится: (с использованием пароля: НЕТ), поскольку я установил пароль для root после установки MySQL и как я указал его в файле конфигурации .
Я уже пару часов пытаюсь решить эту проблему. Hibernate - это 4.2.3Final, а mysql -connector- java - 8.0.20.