HSQLDB - em standalone perco dados quando reinicio, menos se debugo

Desculpem pelo título confuso.

Estou fazendo conexao jdbc normal (básica) a um banco em hsqldb em modo standalone (file). Quando crio a conexao tudo funciona normalmente, consigo inserir e pesquisar corretamente. No entanto os dados que insiro não são persistidos no banco. Isto tanto em tabelas normais como em CACHED. Nas normais é mais fácil de acompanhar pq é só abrir o txt e ver que o registro não foi inserido. Acontece que se eu ponho para debugar e espero um pouco no breakpoint ele consegue persistir os dados! :shock: Tentei simular pondo a thread para dormir mas ai não funciona, mesmo sendo um tempo bem alto (no debug não preciso deixar muito tempo parado no breakpoint, mas se soltar direto tb não funciona).

Alguém já passou por esta situação?

Achei a solução :lol:

c = DriverManager. getConnection( "jdbc:hsqldb:file:testedb;shutdown=true", "sa", "");

Tem que colocar este “shutdown=true”. Só não entendi pq ele conseguia funcionar durante o breakpoint…

é pq ele grava tudo em memória. só quando vc da o shutdown é que ele “persiste” os dados no disco.
tbm já apanhei com isso. vc podia dar o comando Shutdown na janelinha do gerenciador tbm, q ele finaliza o banco e persiste os dados.