Anteriormente, en versiones como MySQL 5.7, en JPA establecíamos la conexión de la siguiente manera:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <? xml version = "1.0" encoding = "UTF-8" ?> < persistence version = "2.0" xsi:schemaLocation = "http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd" > < persistence-unit name = "Aplicacion_JPA_01" transaction-type = "RESOURCE_LOCAL" > < provider >org.eclipse.persistence.jpa.PersistenceProvider</ provider > < class >edu.aprender.persistence.entity.Empleado</ class > < properties > < 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 = "root" /> < property name = "eclipselink.logging.level" value = "FINE" /> </ properties > </ persistence-unit > </ persistence > |
Para los que van ha utilizar la versión 8 de MYSQL, tenemos que hacer una modificación en el código anterior.
Connecting to MySQL 8.0 JPA
Client does not support authentication protocol requested by server; consider upgrading MySQL client
Para solucionar el problema realizamos los siguientes pasos:
1. Copiar el jar de conexión mysql al proyecto: "mysql-connector-java-8.0.12"
2. Agregar el jar de conexión mysql al proyecto: clic derecho "Build Path/Add to Build Path"
3. Modificar la conexión en el archivo de configuración "persistence.xml"
<property name="javax.persistence.jdbc.driver" value="com.mysql.cj.jdbc.Driver" />
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/mysqljpa?useTimezone=true&serverTimezone=UTC"/>
Nota:
1. Deben tener agregado el jar de conexión MYSQL "mysql-connector-java-8.0.x" a su proyecto.
2. Deben agregar la zona horaria de la base de datos, déjenlo en UTC por defecto o si desean especificar su ciudad, les dejo estas lista con los nombres: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
No hay comentarios, ¡cuéntame algo!
Me gustaría saber tu opinión. ¡Saludos!