alla fine anche grazie al consiglio del mio prof. ho usato hypersonic come db. Ho però delle difficoltà a farlo partire in modalità standalone. Imposto un try-catch per la selezione del path:

try {
path = new File(".").getCanonicalPath()+"\\db\\db1";
} catch (IOException ex) {
Logger.getLogger(Jdb.class.getName()).log(Level.SE VERE, null, ex);
}

per poi usare questa variabile path per la connessione:

con = DriverManager.getConnection("jdbc:hsqldb:hsql:file :"+path,"sa","");

Il programma è corretto sintatticamente ma al momento del run mi lancia questo errore:

SEVERE could not reopen database
org.hsqldb.HsqlException: Database lock acquisition failure: lockFile: org.hsqldb.persist.LockFile@f816cf60[file =null, exists=false, locked=false, valid=false, ] method: setPath reason: java.io.IOException: La sintassi del nome del file, della directory o del volume non è corretta


Come posso risolvere? Grazie