休眠程序未终止
Posted
技术标签:
【中文标题】休眠程序未终止【英文标题】: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() 成功,那么我相信它应该退出。 program using hibernate does not terminate 的可能重复项 【参考方案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();
是你要找的东西
【讨论】:
以上是关于休眠程序未终止的主要内容,如果未能解决你的问题,请参考以下文章
如何修复应用休眠 1 分钟后未收到 Firebase FCM 的通知