2
respuestas

[Bug] No se esta haciendo la conexion del programa con la bd h2

La ruta que he determinado para la bd es esta: C:\Users\leoda\OneDrive\Documentos\Cursos CLAL\Alura LATAM\dbJPAHibernate. Agrego captura de que se creo la bd en dicha ruta

![](Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad )

A su vez les comparto la url del repo de git, por si gustan revisar todo el código a detalle. Para realizar la prueba, yo cargué directamente las tablas en la bd, ya que el programa no las agregaba. Pero de igual manera no carga la información o las elimina, prácticamente no está conectada.

url de repositorio: https://github.com/leon007k/JPA-hibernate

Agrego una muestra de mi persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.2"
    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_2.xsd">

     <persistence-unit name="tienda" transaction-type="RESOURCE_LOCAL">
         <class>br.com.alura.tienda.modelo.Producto</class>
         <class>br.com.alura.tienda.modelo.ItemsPedido</class>
         <class>br.com.alura.tienda.modelo.Pedido</class>
         <class>br.com.alura.tienda.modelo.Cliente</class>
         <class>br.com.alura.tienda.modelo.Categoria</class>

        <properties>
            <property name="javax.persistence.jdbc.driver" value="org.h2.Driver"/>
            <property name="javax.persistence.jdbc.url" value="jdbc:h2:C:\Users\leoda\OneDrive\Documentos\Cursos CLAL\Alura LATAM\dbJPAHibernate"/>
            <property name="javax.persistence.jdbc.user" value="sa"/>
            <property name="javax.persistence.jdbc.password" value="root"/>
            <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
            <property name="hibernate.show_sql" value="true"/>
            <property name="hibernate.format_sql" value="true"/>
            <property name="hibernate.hbm2ddl.auto" value="create-drop"/>
        </properties>	
    </persistence-unit>
</persistence>

Tambien agrego el pom

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>br.com.alura</groupId>
  <artifactId>tienda_v2</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  
  <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
                <configuration>
                    <release>11</release>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <dependencies>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>5.6.14.Final</version>
        </dependency>
        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <version>2.1.214</version>
        </dependency>
    </dependencies>
</project>
2 respuestas

Hola Carlos,

¿Ha podido resolver el error? En tu archivo de configuración de persistencia, parece que estás usando una ruta absoluta para tu base de datos H2 en tu propiedad javax.persistence.jdbc.url. En Windows, las rutas con barras invertidas (\) pueden causar problemas, ya que la barra invertida es un carácter de escape en Java.

Podrías intentar cambiar la ruta de tu base de datos a una ruta relativa, o si prefieres mantenerla como una ruta absoluta, asegúrate de escapar las barras invertidas.

Mucho éxito en todo lo que te propongas y si tienes alguna duda aquí estaremos para apoyarte.

¡Vamos juntos!

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios

No funciono. De igual manera, en la clase, el profesor agregar una ruta absoluta y le funciono.

![](Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad )

Comparto el ajuste que realice y no tuvo éxito alguno:

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.2"
    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_2.xsd">

     <persistence-unit name="tienda" transaction-type="RESOURCE_LOCAL">
         <class>br.com.alura.tienda.modelo.Producto</class>
         <class>br.com.alura.tienda.modelo.ItemsPedido</class>
         <class>br.com.alura.tienda.modelo.Pedido</class>
         <class>br.com.alura.tienda.modelo.Cliente</class>
         <class>br.com.alura.tienda.modelo.Categoria</class>

        <properties>
            <property name="javax.persistence.jdbc.driver" value="org.h2.Driver"/>
            <property name="javax.persistence.jdbc.url" value="jdbc:h2:C:/Users/leoda/OneDrive/Escritorio/dba"/>
            <property name="javax.persistence.jdbc.user" value="sa"/>
            <property name="javax.persistence.jdbc.password" value="1234"/>
            <property name="hibernate.dialect" value="org.hibernate.dialect.H2Dialect"/>
            <property name="hibernate.show_sql" value="true"/>
            <property name="hibernate.format_sql" value="true"/>
            <property name="hibernate.hbm2ddl.auto" value="create"/>
        </properties>	
    </persistence-unit>
</persistence>

Espero puedan apoyarme