注意:这个问题与我的previous one有关。如何使用线程上下文重新初始化Hibernate中的会话?
我在我的Hibernate配置中使用hibernate.current_session_context_class=thread
,并根据需要通过SessionFactory.getCurrentSession()
获取Hibernate会话。所以它确实在需要时创建或给我现有的会话,所以我不关心这一点。
这一切都很棒,但是当我得到一个HibernateException
,一个ConstraintViolationException
例如做什么?然后,我之前获得的当前会话变得无效,我无法再使用它,甚至没有读出更多的数据(根据我读过的许多论坛)。我该如何放弃并在特定范围内获得新的会话?我想第二次打电话SessionFactory.getCurrentSession()
还是会返回我一样的无效会话!?