Java Hibernate中有时会出现异常

Java Hibernate中有时会出现异常,java,hibernate,session,Java,Hibernate,Session,我想在StaleStateException发生时重试,该异常对于query.list(“选择--”)操作是间歇性发生的。 我不介意丢失当前会话状态,因为我正在从头开始重试 我目前所做的是在异常发生时重试,而不清除或创建新会话,这并没有解决我的问题。该会话是从HibernateDaoSupport获得的,该会话使用侦听器返回在请求开始时创建的会话 我想知道在重试的情况下我应该采用哪种方法,或者有更好的方法吗 private List executeMethod(String query,int

我想在StaleStateException发生时重试,该异常对于query.list(“选择--”)操作是间歇性发生的。 我不介意丢失当前会话状态,因为我正在从头开始重试

我目前所做的是在异常发生时重试,而不清除或创建新会话,这并没有解决我的问题。该会话是从HibernateDaoSupport获得的,该会话使用侦听器返回在请求开始时创建的会话

我想知道在重试的情况下我应该采用哪种方法,或者有更好的方法吗

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();
        }
    }
编辑:经过一些尝试后,我意识到失败比处理异常要好