Java Hibernate中有时会出现异常
我想在StaleStateException发生时重试,该异常对于query.list(“选择--”)操作是间歇性发生的。 我不介意丢失当前会话状态,因为我正在从头开始重试 我目前所做的是在异常发生时重试,而不清除或创建新会话,这并没有解决我的问题。该会话是从HibernateDaoSupport获得的,该会话使用侦听器返回在请求开始时创建的会话 我想知道在重试的情况下我应该采用哪种方法,或者有更好的方法吗Java Hibernate中有时会出现异常,java,hibernate,session,Java,Hibernate,Session,我想在StaleStateException发生时重试,该异常对于query.list(“选择--”)操作是间歇性发生的。 我不介意丢失当前会话状态,因为我正在从头开始重试 我目前所做的是在异常发生时重试,而不清除或创建新会话,这并没有解决我的问题。该会话是从HibernateDaoSupport获得的,该会话使用侦听器返回在请求开始时创建的会话 我想知道在重试的情况下我应该采用哪种方法,或者有更好的方法吗 private List executeMethod(String query,int
private List executeMethod(String query,int count) throws Exception{
Session session = null;
Query queryObject = null;
try{
session = this.getSession();
return session.createQuery(query).list();
}catch(StaleStateException e){
LOG.error("StaleStateException occured but we are doing ",e);
//approach 1
session.evict(objectquerried);
//approach 2
session.clear();
throw e;
}catch(HibernateException e){
throw e;
}finally{
session.close();
}
}
编辑:经过一些尝试后,我意识到失败比处理异常要好