Я использовал HSQL DB версии 2.2.5.
Я попробовал выше подходы, то есть установка shutdown = true и hsqldb.write_delay = false
Это не работает. Как предложено в каком-то блоге, я добавил заявление
org.hsqldb.DatabaseManager.closeDatabases(0);
после подтверждения транзакции. Но это не сработало.
HSQL DB версии 2.2.9 кажется лучше, чем эта. С одним обходным путем это решает эту проблему. Для решения вышеуказанной проблемы выполните следующие шаги: -
1) hsqldb.jar из lib базы данных HSQL версии 2.2.9
2) В hibernate config xml просто укажите URL
Я использую файловую базу данных HSQL.
<property name="hibernate.connection.url">jdbc:hsqldb:file:D:\JavaProj\TmpDBLocation\myKauDB</property>
3) В вашей программе в конце напишите оператор
org.hsqldb.DatabaseManager.closeDatabases(0);
Теперь запустите программу гибернации, которая фиксирует данные в БД.
Проверьте HSQL DB, открыв ее в автономном режиме и с URL
jdbc:hsqldb:file:D:\JavaProj\TmpDBLocation\myKauDB
Вы должны увидеть, что ваши изменения сохраняются в БД.