Когда я создаю новую базу данных H2 через ORMLite, файл базы данных создается, но после закрытия приложения все данные, хранящиеся в базе данных, теряются:
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);