【问题标题】:Hibernate program not terminating休眠程序未终止
【发布时间】:2014-06-24 23:36:30
【问题描述】:

我写了一个简单的 Hibernate 程序,它似乎工作正常,数据被加载到数据库中,表被创建。但是调用 commit() 后程序不会终止。

这是我正在使用的一段代码:

    SessionFactory sessionFactory= new Configuration().configure().buildSessionFactory();
    Session session = sessionFactory.openSession();
    session.beginTransaction();
    session.save(model);
    session.getTransaction().commit();

我使用 MySQL 作为数据库,在 eclipse 中运行程序。

请就这里可能出现的问题提出建议。

谢谢, 维平

【问题讨论】:

  • 请详细说明。从您的帖子中可以假设您认为提交等于程序终止。虽然这不是真的,但它只是完成交易。接下来会发生什么取决于接下来的代码。
  • 在 main() 中,commit() 是最后一个方法调用,因此如果 commit() 成功,那么我相信它应该退出。

标签: java mysql hibernate jdbc


【解决方案1】:

你错过了这个(下面提交):

session.close();

最终代码:

SessionFactory sessionFactory= new Configuration().configure().buildSessionFactory();
Session session = sessionFactory.openSession();
session.beginTransaction();
session.save(model);
session.getTransaction().commit();
session.close(); //Here

【讨论】:

  • 我试过 session.close() 但是程序仍然没有终止。事实上,在 mysql 中,我尝试手动提交以检查提交是否无法从 java 工作,这仍然没有帮助:-(
  • 你能发布你的 hibernate.cfg.xml 文件吗...关于 hibernate.connection.release_mode 的行
【解决方案2】:
sessionFactory.close();

是你要找的东西

【讨论】:

    猜你喜欢
    • 2014-03-05
    • 1970-01-01
    • 1970-01-01
    • 2011-08-21
    • 2017-11-30
    • 1970-01-01
    • 2015-06-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多