求解释下这段代码,拜托了,各位大神,可怜可怜我这个新手吧

求解释下这段代码,拜托了,各位大神,可怜可怜我这个新手吧,尤其讲讲异常处理里边Query query = 。。。都是什么意思,怎么个用法,谢谢啦

 private List<GongWenLeiBie>  findAll(String where)
    {
           Session sess = this.getSessionFactory().openSession();
             try
             {
              Query query = sess.createQuery(" From  GongWenLeiBie " + where + " order by shunXu asc ,id desc ");
              return query.list();
             }
             finally
             {
                sess.close();
             }
    }

Session sess = this.getSessionFactory().openSession(); //通过session工厂得到一个数据库session会话
Query query = sess.createQuery(" From GongWenLeiBie " + where + " order by shunXu asc ,id desc "); //通过数据库session会话创建一个HQL查询
return query.list(); //返回查询结果

Session sess = this.getSessionFactory().openSession()实际上就是对sess的定义和初始化,如果没有这句话,后面的sess.createQuery...就没法进行了,因为编译器会不知道sess是什么东西,呵呵