Персистентность не постоянна - PullRequest
2 голосов
/ 16 июня 2010

Мне нужен блок персистентности, который создает встроенную базу данных, которая остается постоянной после закрытия EntityManager.

Это мой ПУ:

<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>

И удаляет данные после закрытия приложения.

1 Ответ

3 голосов
/ 16 июня 2010

Мое понимание документации заключается в том, что "старый" URL jdbc:hsqldb:. создает или подключается к той же базе данных, что и новая форма для URL jdbc:hsqldb:mem:. (то есть в памяти).

Попробуйте вместо этого следующий URL: jdbc:hsqldb:file:target/hsql.db.

...