HSQLDB, the famous fast RDBMS written in Java, introduced a new feature which affects code ported over from previous versions. HSQLDB, le célèbre rapide SGBDR écrit en Java, a présenté une nouvelle fonctionnalité qui affecte le code porté sur des versions précédentes. From version 1.7.2, in-process databases are no longer closed when the last connection to the database is explicitly closed via JDBC. Depuis la version 1.7.2, en cours de bases de données ne sont plus fermé lors de la dernière connexion à la base de données est explicitement fermé par l'intermédiaire de JDBC. Effectively your data is not written to disk even if you exit the program (say for database opened within application). Efficacement vos données n'est pas écrit sur le disque, même si vous quittez le programme (par exemple pour la base de données ouverte dans l'application). Also it prevents opening the database next time around as a lock file (.lck) has been created to indicate that the data has not been commited to disk. De même, il empêche l'ouverture de la base de données prochaine fois comme un fichier de verrouillage (. Lck) a été créé pour indiquer que les données n'ont pas été commis sur le disque. There are two solutions to this issue. Il existe deux solutions à cette question.

You can either issue an explicit SHUTDOWN command through executeQuery. Vous pouvez soit une question explicite commande shutdown par executeQuery. It will effectively shutdown the database and commit all data to disk. Il aura pour effet de l'arrêt de la base de données et d'engager toutes les données sur le disque.

A simpler way is to slightly alter your DriverManager.getConnection statement to ensure the database is closed after the last connection has been closed. Un moyen plus simple est de modifier légèrement votre DriverManager.getConnection déclaration à assurer la base de données est fermée après la dernière connexion a été fermée. This is what I use - C'est ce que j'utilise --
DriverManager.getConnection("jdbc:hsqldb:file:" + database + " ;shutdown=true ", "sa", ""); DriverManager.getConnection ( "jdbc: HSQLDB: file:" + + base de données "; arrêt = true", "sa", "");