3
respuestas

[Duda] base de datos aparece vacia

al cambiar la ruta hacia la base de datos, el programa funciona aparentemente bien, pero al acceder desde la consola de h2 la base de datos esta vacia  aun cuando ya eh guardado un item en estaIngrese aquí la descripción de esta imagen para ayudar con la accesibilidad

3 respuestas

Hola Rembrandt,

Una posibilidad es que estés conectándote a la base de datos H2 de manera incorrecta o a una base de datos diferente de la que estás utilizando en tu aplicación Java. Asegúrate de que la URL de conexión, el nombre de usuario y la contraseña sean los correctos.

Otra posibilidad es que la transacción en la que guardaste el ítem no se haya confirmado (commit). En JPA, si no confirmas la transacción, los cambios no se guardarán en la base de datos. Asegúrate de que estás haciendo algo similar a esto:

EntityTransaction et = em.getTransaction();

try {
    et.begin();

    // código para guardar el ítem...

    et.commit();
} catch (Exception ex) {
    if (et.isActive()) et.rollback();
    throw ex;
} finally {
    em.close();
}

En este código, em es tu EntityManager. Si ocurre una excepción, la transacción se deshará (rollback) y los cambios no se guardarán.

Espero que estas sugerencias te ayuden a resolver el problema. Recuerda que la programación es en gran parte un proceso de prueba y error, por lo que no te desesperes si las cosas no funcionan a la primera.

Espero haber ayudado y buenos estudios! 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.

ya eh hecho los cambios sugeridos al codigo y compila sin problema al parecer generando las tablas y haciendo el registro de pedido pero ahora no puedo acceder a la base de datos, dejo la captura de pantalla con el error presentado Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

Espero esto te sirva. Ten cuidado con crear el archivo de la base de datos ".trace" el archivo debe ser solo 1 con extensión ".mv" eso tambien me ha generado conflictos, estoy indagando el porqué se crea y cual es su función, se crea automaticamente, lo que he hecho al momento para evitar que esto de problemas es eliminar los archivos y volver a correr el programa y se vuelve a crear la base de datos como tal.

Procura que al correr el programa la base de datos en consola H2 esté cerrada. Es lo que tengo al momento, sigo buscando las causas, los archivos también se muestran como ".trace.db" y ".mv.db"

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

Tambien revisa bien el tema de las rutas (URL) en el archivo persistence así como en el h2 debes poner la ubicación y al final el nombre de la base de datos. Revisa en el explorador de archivos los archivos que se crearon de la base de datos, solo debes tener 1 y que ho haya conflictos de nombres.