Я занимаюсь разработкой приложения JPA, которое использует H2 в качестве базы данных, и я хочу создать резервную копию во время работы базы данных.
Вот соответствующая часть персистентности. xml:
<persistence-unit name="examplePU" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:jboss/datasources/ExampleDS</jta-data-source>
<properties>
<property name="hibernate.hbm2ddl.auto" value="create-drop"/>
</properties>
</persistence-unit>
В этом H2 Tutorial говорится, что я должен использовать оператор sql "BACKUP TO 'backup.zip'", но я не совсем уверен, как. Моя попытка до сих пор:
entityManager.createQuery("BACKUP TO 'backup.zip'").executeUpdate();
Но это приводит к этому исключению:
java.lang.IllegalArgumentException: org.hibernate.hql.internal.ast.QuerySyntaxException: unexpected token: BACKUP near line 1, column 1 [BACKUP TO 'backup.zip']
Я надеялся, что мне не придется вручную экспортировать таблицы в JSON или CSV. В то время как экспортная часть работает, импорт более проблематичен c, так как у меня много связей ManyToMany.