Мое jpa-приложение работало нормально (на самом деле, мои 2 jpa-приложения), так как я обновляю свою ма c до Каталины (и перезапускаю ее, конечно).
С тех пор я получил
org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator initiateService
WARN: HHH000342: Could not obtain connection to query metadata : null
Exception in thread "main" org.hibernate.service.spi.ServiceException: Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]
...
Caused by: org.hibernate.HibernateException: Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set
Но из mySQL Workbench я могу без проблем обращаться к базам данных.
Я пытался переустановить mysql, даже используя brew для этого. Ничего не работает Я ничего не изменил в своем файле постоянства. xml файл и мой код.
<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
<persistence-unit name="MyProject" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
<properties>
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/myschema"/>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
<property name="javax.persistence.jdbc.user" value="root"/>
<property name="javax.persistence.jdbc.password" value="MyPassword"/>
<property name="javax.persistence.schema-generation.database.action" value="update"/>
</properties>
</persistence-unit>
</persistence>
Моя mysql версия 8.0.19.
Спасибо!
Обновление на следующий день (28/4):
К настоящему времени у меня есть: 1) Добавил эту строку в мое постоянство. xml:
<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect" />
Как я получена новая ошибка ...
Access denied for user 'root'@'localhost' (using password: YES)
2) Следуйте этим инструкциям, чтобы установить root пароль: https://medium.com/@aungzanbaw / how-to-reset- root -user-password-in - mysql -8-0-a5c328d098a8
Теперь моя новая ошибка
Connection refused
Обновление на следующий день (29/4):
Сегодня я остановился и запустил mysql с терминала:
sudo /usr/local/bin/mysql.server stop
sudo /usr/local/bin/mysql.server start
Затем я получил новую ошибку
The server time zone value 'CEST' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the 'serverTimezone' configuration property) to use a more specifc time zone value if you want to utilize time zone support.
Давайте продолжим мое расследование!
После этого вопроса: https://es.stackoverflow.com/questions/48935/configurar-zona-horaria-jdbc-driver-java/48946?newreg=494e1840d4404575a81dc4ec10200266
Я изменил постоянство. xml:
Итак, я получил
Table 'myschema.mytable' doesn't exist
ошибка.