Что-то из новичка с HSQL и Hibernate...
em.getTransaction().begin();
for (Activity theActivity : activities) {
em.persist(theActivity);
}
em.getTransaction().commit();
em.close();
за которым следует...
EntityManager em = emf.createEntityManager();
em.getTransaction().begin();
System.out.println("QUERY:: "
+ em.createQuery("SELECT COUNT(*) FROM " + Activity.class.getName()).getSingleResult()
.toString());
em.getTransaction().commit();
Печатает 25000 (количество объектов Activity в действиях). Но когда я снова запускаю этот тест, количество объектов в счетчике (*) не увеличивается (и равно 0 в начале программы). Таким образом, объекты не набираются долгое время.
Это моя строка соединения hsqldb:
name="hibernate.connection.url" value="jdbc:hsqldb:file:data/cmon"
так что это не база данных в памяти, насколько я знаю...
Есть ли у кого-нибудь идеи, почему объекты не сохраняются за пределами одной сессии JVM? С удовольствием предоставляем больше информации, но там так много состояний, связанных с Hibernate/JPA/HSQL, что не ясно, что именно уместно.