Pregunta

Estoy utilizando JPA y Java DB incrustado en mi solicitud. Trato de escribir algunos datos a la base de datos y cuando trato de leer de nuevo estoy en condiciones de hacerlo. Sin embargo, la aplicación está cerrada y cuando lo abro de nuevo no existe ninguno de los datos.

Aquí está mi archivo persistence.xml

    <?xml version="1.0" encoding="UTF-8"?>
<persistence version="1.0" 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_1_0.xsd">
  <persistence-unit name="myMoneyPU" transaction-type="RESOURCE_LOCAL">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <class>mymoney.Money</class>
    <properties>
      <property name="eclipselink.jdbc.password" value="adminadmin"/>
      <property name="eclipselink.jdbc.user" value="admin"/>
      <property name="eclipselink.jdbc.driver" value="org.apache.derby.jdbc.EmbeddedDriver"/>
      <property name="eclipselink.jdbc.url" value="jdbc:derby:pocketmoney;create=true"/>
      <property name="eclipselink.ddl-generation" value="create-tables"/>
    </properties>
  </persistence-unit>
</persistence>

¿Hay algún problema en mi URL base de datos.

  

jdbc: derby: PocketMoney

¿Fue útil?

Solución

  

¿Hay algún problema en mi URL base de datos.

No, es correcta y debe crear una base de datos en el directorio de trabajo actual.

Algunas ideas para depurar el problema:

  • Usar una ruta absoluta para jdbc:derby:/path/to/pocketmoney;create=true control total.
  • Compruebe que los datos se escriben (es decir, que los archivos de cambios).
  • Activar EcliseLink registro para ver lo que está ocurriendo exactamente usando las siguientes propiedades:

    <properties>
      ...
      <property name="eclipselink.debug" value="ALL"/>          
      <property name="eclipselink.logging.level" value="FINEST" />
      <property name="eclipselink.logging.level.sql" value="FINEST" />
      <property name="eclipselink.logging.level.cache" value="FINEST" />
    </properties>
    
  • a comprobar que usted se compromete transacciones apropiada (que está diciendo su código está haciendo cosas pero no estás mostrando que lo que todavía hay lugar a dudas).

Referencias

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top