【发布时间】:2012-04-26 09:34:10
【问题描述】:
注意:这个问题与我的previous one有关。
我在我的 Hibernate 配置中使用 hibernate.current_session_context_class=thread 并根据需要通过 SessionFactory.getCurrentSession() 获取 Hibernate 会话。所以它会在需要时创建或给我现有的会话,所以我不关心这个。
这一切都很好,但是当我收到HibernateException,例如ConstraintViolationException 时该怎么办?然后我之前获得的当前会话变得无效,我不能再使用它,甚至不能读取更多数据(根据我读过的许多论坛)。如何丢弃并在特定范围内获取新会话?我认为第二次调用SessionFactory.getCurrentSession() 仍然会返回相同的无效会话!?
【问题讨论】:
标签: multithreading hibernate session session-management