2010-06-16 126 views
2

我需要持久性單元創建嵌入式數據庫,在關閉EntityManager後保持持久性。持久性單元不是持久性的

這是我的PU:

<persistence-unit name="hello-jpa" transaction-type="RESOURCE_LOCAL"> 
    <class>hello.jpa.User</class> 
    <properties> 
    <property name="hibernate.show_sql" value="true"/> 
    <property name="hibernate.format_sql" value="true"/> 
    <property name="hibernate.dialect" value="org.hibernate.dialect.HSQLDialect"/> 
    <property name="hibernate.connection.driver_class" value="org.hsqldb.jdbcDriver"/> 
    <property name="hibernate.connection.username" value="sa"/> 
    <property name="hibernate.connection.password" value=""/> 
    <property name="hibernate.connection.url" value="jdbc:hsqldb:target/hsql.db"/> 
    <property name="hibernate.hbm2ddl.auto" value="update"/> 
    </properties> 
</persistence-unit> 

它關閉應用程序後刪除數據。

回答

3

我對the documentation的理解是,「舊」URL jdbc:hsqldb:.創建或連接到與URL jdbc:hsqldb:mem:.(即在內存中)的新表單相同的數據庫。

請嘗試使用以下URL代替:jdbc:hsqldb:file:target/hsql.db

+0

我也不工作:(在這兩種情況下沒有這樣的文件lie target/hsql.db ... – Etam 2010-06-16 23:17:51

+0

@etam你可以嘗試一個絕對路徑(只是爲了檢查)嗎?我有一個疑問。工作目錄 – 2010-06-16 23:23:08

+0

所有我是(具有相對和絕對): 〜/ ETAM-SVN /代碼/ JAVA /你好-JPA> LS目標/ 類\t \t \t \t \t \t hsql.db.log \t \t \t maven-archiver hello-jpa-derby-1.0-SNAPSHOT.jar \t hsql.db.properties \t \t \t test-類 – Etam 2010-06-16 23:23:10