当我通过ORMLite创建一个新的H2数据库时,数据库文件被创建,但在关闭我的应用程序后,它存储在数据库中的所有数据都将丢失:ormlite with persistent h2 db - 新表格没有得到保存
JdbcConnectionSource connection =
new JdbcConnectionSource("jdbc:h2:file:" + path.getAbsolutePath() + ".h2.db");
TableUtils.createTable(connection, SomeClass.class);
Dao<SomeClass, Integer> dao = DaoManager.createDao(connection, SomeClass.class);
SomeClass sc = new SomeClass(id, ...);
dao.create(sc);
SomeClass retrieved = dao.queryForId(id);
System.out.println("" + retrieved);
此代码将产生良好的结果。它将打印我存储的对象。 但是当我再次启动应用程序这次没有创建表和存储新对象,我得到一个异常告诉我所需要的表不存在:
JdbcConnectionSource connection =
new JdbcConnectionSource("jdbc:h2:file:" + path.getAbsolutePath() + ".h2.db");
Dao<SomeClass, Integer> dao = DaoManager.createDao(connection, SomeClass.class);
SomeClass retrieved = dao.queryForId(id); // will produce an exception..
System.out.println("" + retrieved);
我正在关闭连接: (的Connection.close) 我敢肯定,我使用相同的路径.. 我甚至印它。 – bennylu