【发布时间】:2014-08-05 05:57:00
【问题描述】:
当您第一次尝试使用会话时,Hibernate 会创建一个会话并 将其附加到您的本地线程。当您在 session Hibernate 会自动关闭会话意味着它 不能重复使用。 - 从这个site得到这个报价
这是我的代码的样子,我可以在每次提交事务时关闭我的hibernateSession:
Session session = HibernateUtil.getSessionFactory().openSession();
session.setFlushMode(FlushMode.AUTO);
session.beginTransaction();
session.getTransaction().commit();
session.close();
我的所有代码都可以正常工作,但存在问题: 例如,如果我在数据库中添加行,保存成功,如果我在 1-10 秒后添加另一个。发生休眠异常,表示会话已关闭。但如果我等待 1 分钟再添加一个,则不会发生这种情况。这在我的代码中是否有些错误,或者我连接的服务器很慢(我确实有这个想法,因为我的 java servlet 代码的更新有时会延迟)?有什么想法吗?
【问题讨论】:
-
你能发布你的 hibernate.cfg.xml 文件吗?
-
@monty024,我的 xml 中只有驱动程序、数据库名、用户名、密码、mySQL 方言和 Fruit 类的映射的此设置。
标签: java hibernate session servlets