Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

Error al crear el servicio "JdbcEnviroment"

Realicé los mismo pasos que en el video para la tag del persistence. xml busqué el driver y la configuración adecuada, solo que estoy utilizando MySQL para la base de datos y obtuve los siguientes errores:

Errores mostrados en consolaAhora a continuación les dejo mi codigo del persistence:

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
             version="2.0">

     <persistence-unit name="tienda" transaction-type="RESOURCE_LOCAL">
        <description>
            Unidad de persistencia JPA utilizando MySQL
        </description>
        <provider>org.hibernate.ejb.HibernatePersistence</provider>
        <class>com.latam.alura.tienda.modelo.Producto</class>

        <properties>
            <property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
            <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost/java_y_jdbc"/>
            <property name="javax.persistence.jdbc.user" value="root"/>
            <property name="javax.persistence.jdbc.password" value="Contraseña"/>

            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQLDialect"/>
            <property name="hibernate.show_sql" value="true"/>
            <property name="hibernate.hbm2ddl.auto" value="create"/>
        </properties>    

    </persistence-unit>
</persistence>

y el código del registro:

public class RegistroDeProducto {

    public static void main(String[] args) {
        Producto celular = new Producto();

        celular.setNombre("Xiaomi");
        celular.setDescripcion("Celular Xiomi usado");
        celular.setPrecio(new BigDecimal("1450.00"));

        EntityManagerFactory factory = Persistence.createEntityManagerFactory("tienda");
        EntityManager em = factory.createEntityManager();

        em.persist(celular);
    }

Me asegure que la ruta fuera la adecuada para la base de datos, así como el usuario y contraseña.

1 respuesta
solución!

Hola, también use el mysql

Prueba agregando esta dependencia a tu pom.xml, luego trata de que vuelvan a cargar o descargar tus dependencias

<dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.32</version>
        </dependency>

Si usas IntelliJ

Luego en tu persistence.xml

<properties>
            <property name="javax.persistence.jdbc.driver" value="com.mysql.cj.jdbc.Driver"/>
            <property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/{nombre_de_tu_base_de_datos}"/>
            <property name="javax.persistence.jdbc.user" value="{tu_usuario}"/>
            <property name="javax.persistence.jdbc.password" value="{tu_contraseña"/>

            <property name="hibernate.show_sql" value="true"/>
            <property name="hibernate.format_sql" value="true"/>
            <property name="hibernate.hbm2ddl.auto" value="update"/>
            <property name="hibernate.dialect"
                      value="org.hibernate.dialect.MySQL8Dialect" />
        </properties>

Espero que esto se ayude a resolver tu problema.