我访问用户使用和Java嵌入DB在我的应用程序。我尝试写某些数据的数据库和当我试图阅读这回我能够做到这一点。但应当我再次打开它没有数据存在。

这里是我的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>

是否有任何问题,在我的数据库的网址。

jdbc:德比:pocketmoney

有帮助吗?

解决方案

是否有任何问题,在我的数据库的网址。

不,这是正确的,并应建立一个数据库中的当前的工作目录。

一些想法,以调试你的问题:

  • 使用一个绝对的道路完全控制 jdbc:derby:/path/to/pocketmoney;create=true.
  • 检查的数据得到书面的(即该文件修改)。
  • 激活EcliseLink记录看看发生了什么事完全使用以下性能:

    <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>
    
  • 仔细检查你提交适当的(你是说你的代码做的事情,但你却不表示它这样仍有疑问).

参考文献

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top