H2 Database - メモリオンリーデータベースでは、デフォルトでcloseするとデータがなくなる!? 2008/05/14

H2 データベースをインメモリで使う場合、デフォルトでは、closeするとその時点でデータがなくなってしまうようです。
この動作を変更する場合は、接続時のパラメータ(url)にDB_CLOSE_DELAY=-1を設定するといいようです。



以下、サンプルコード

protected Connection getConnection() throws SQLException,
ClassNotFoundException {
Connection connection = null;
try {
Class.forName("org.h2.Driver");
connection = DriverManager.getConnection("jdbc:h2:mem:mydb;DB_CLOSE_DELAY=-1",
"sa",
"");
} catch (SQLException e) {
throw e;
} catch (ClassNotFoundException e) {
throw e;
}

return connection;
}

: