我尝试将用户保存到数据库,我使用H2与嵌入式(本地)连接 我运行代码:`
HibernateUtil.buildSessionFactory();
SessionFactory fac = HibernateUtil.getSessionFactory();
Session session = fac.openSession();
org.hibernate.Transaction tr = session.beginTransaction();
session.save(role);
session.getTransaction().commit();
tr = session.beginTransaction();
session.save(stock);
session.getTransaction().commit();
tr = session.beginTransaction();
session.save(stock1);
session.getTransaction().commit();
session.beginTransaction();
List<User> list = session.createQuery("FROM User").list();
session.getTransaction().commit();
session.close();
fac.close();
System.out.println(list.size());`
输出为:2 但是当我跑完之后:
Session session = fac.openSession();
org.hibernate.Transaction tr = session.beginTransaction();
List<User> list = session.createQuery("FROM User").list();
session.getTransaction().commit();
session.close();
fac.close();
System.out.println(list.size());`
输出为0
因此,有关用户的数据不会保存到db。它能是什么? 这是我的网址
<property name="hibernate.connection.url">
jdbc:h2:./firstq000f0d020d11;AUTO_SERVER=true;</property>
答案 0 :(得分:1)
H2在内存数据库中,它不会在磁盘上存储记录。您可以检索您的记录,直到数据库正在运行。当您重新启动数据库或重新启动系统时,所有数据都将丢失。 http://www.h2database.com/html/main.html