java - 对数据库的更改不会保存到下次运行吗?

标签 java database hibernate

我尝试将用户保存到数据库,我使用带有嵌入式(本地)连接的 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

因此,有关用户的数据不会保存到数据库中。会是什么? 这是我的网址

<property name="hibernate.connection.url">
            jdbc:h2:./firstq000f0d020d11;AUTO_SERVER=true;</property>

最佳答案

H2是内存数据库,它不在磁盘上存储记录。您可以检索您的记录,直到数据库运行。当您重新启动数据库或重新启动系统时,所有数据都会丢失。 http://www.h2database.com/html/main.html

关于java - 对数据库的更改不会保存到下次运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26117619/

相关文章:

java - 致命异常 : main Caused by: java. playAudio 处的 lang.NullPointerException(extras.getInt(MEDIA));

java - 线程 "main"org.hibernate.MappingException : Unknown entity: com. myApp.data.entities.User 中的异常

java - Spring 3 MVC + MySQL : cannot store € character

java - Hibernate和Mysql对象不刷新时间戳列

php - 如何在查询中使用保留关键字

java - Eclipse 和 HotSpot 虚拟机 : does it run/debug client or server by default?

java - 多次导入库需要什么

具有密码保护的 Java、JFileChooser 和 Windows 网络共享

java - 无法连接到000webhost.com的Mysql数据库

objective-c - 如何将 JSON 用于关系类型数据 - 最好只是重复数据?