Java 对数据库的更改不保存到下一次运行?
我尝试将用户保存到数据库,我使用H2和嵌入式(本地)连接 我运行代码:`Java 对数据库的更改不保存到下一次运行?,java,database,hibernate,Java,Database,Hibernate,我尝试将用户保存到数据库,我使用H2和嵌入式(本地)连接 我运行代码:` HibernateUtil.buildSessionFactory(); SessionFactory fac = HibernateUtil.getSessionFactory(); Session session = fac.openSession(); org.hibernate.Transaction tr = session.beginTransaction(); sessi
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());`
HibernateUtil.buildSessionFactory();
SessionFactory fac=HibernateUtil.getSessionFactory();
Session Session=fac.openSession();
org.hibernate.Transaction tr=session.beginTransaction();
session.save(角色);
session.getTransaction().commit();
tr=session.beginTransaction();
保存(库存);
session.getTransaction().commit();
tr=session.beginTransaction();
session.save(stock1);
session.getTransaction().commit();
session.beginTransaction();
List List=session.createQuery(“来自用户”).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());`
会话会话=fac.openSession();
org.hibernate.Transaction tr=session.beginTransaction();
List List=session.createQuery(“来自用户”).List();
session.getTransaction().commit();
session.close();
fac.close();
System.out.println(list.size())`
输出为0
因此,有关用户的数据不会保存到数据库中。可能是什么?
这是我的网址
<property name="hibernate.connection.url">
jdbc:h2:./firstq000f0d020d11;AUTO_SERVER=true;</property>
jdbc:h2:./firstq000f0d020d11;AUTO_SERVER=true;
H2是内存数据库,它不在磁盘上存储记录。在数据库运行之前,您可以检索记录。重新启动数据库或重新启动系统时,所有数据都将丢失。
完全可以告诉H2将数据库保存到磁盘,但这不是默认值。remove
AUTO_SERVER=true代码>并重试。