Objeto não encontrado

Boa Tarde GUJ

Estou trabalhando com o hibernate pela primeira vez, toda vez que faço uma consulta se aquele parametro não existir o hibernate manda uma exeção, o que fazer para não aparecer mais ?? Quero personalizar informando que nao existe o valor informado mas nao sei como

at org.hibernate.impl.AbstractSessionImpl.errorIfClosed(AbstractSessionImpl.java:72)
        at org.hibernate.impl.SessionImpl.fireLoad(SessionImpl.java:1086)
        at org.hibernate.impl.SessionImpl.load(SessionImpl.java:985)
        at org.hibernate.impl.SessionImpl.load(SessionImpl.java:978)
        at com.geco.hibernate.util.dao.FornecedorDao.getForId(FornecedorDao.java:57)
        at com.geco.controller.FornecedorController.consulta(FornecedorController.java:140)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.el.parser.AstValue.invoke(AstValue.java:262)
        at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:278)
        at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:98)
        at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
        at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
        at javax.faces.component.UICommand.broadcast(UICommand.java:315)
        at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:775)
        at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1267)
        at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
        at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
        at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:312)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:306)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:240)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:164)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:550)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:380)
        at org.apache.coyote.http11.Http11AprProcessor.process(Http11AprProcessor.java:284)
        at org.apache.coyote.http11.Http11AprProtocol$Http11ConnectionHandler.process(Http11AprProtocol.java:322)
        at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1684)
        at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
        at java.lang.Thread.run(Thread.java:619)

Usando JSF 2.02 + PrimeFaces 2.2.1 + Hibernate 3.6.1

Qual é a exception q dá ?

if (!operacao.equals("")) {
            try{
            listaFornecedor = dao.listPersona(operacao, valorConsulta);
            }catch(HibernateException hex){
                hex.printStackTrace();
            }

Ela da exeção nessa parte aqui

Olha a Dao

public List<Fornecedor> listPersona(String campoConsulta, String valor) {
        List<Fornecedor> lista = null;
        try {
            String hql = "";
            if (campoConsulta.equals("fantasia")) {
                hql = "from Fornecedor f where f.nomeFantasia like '" + valor + "'";
            } else if (campoConsulta.equals("razao")) {
                hql = "from Fornecedor f where f.razao_soc like '" + valor + "'";
            } else if (campoConsulta.equals("cnpj")) {
                hql = "from Fornecedor f where f.cnpj like '" + valor + "'";
            }
            initSession();
            lista = session.createQuery(hql).list();
            close();

        } catch (QueryException qe) {
            AlertController.msg(2, "Consulta", "A Consulta não recuperou valores !");
        }
        return lista;
    }

O problema e que ele nao me volta nada falando se achou algo ou nao

Ele não volta pq não teve o tratamento certo no bloco try catch.
Vc tem sempre q colocar todos os catch conhecidos e por último o Exception.

Vc mandou o stack apenas dos at …
não tem nada falando de qual exception foi ?
Tipo NullPointerException, ou TransactonRolledBackException …
isso é importante para tentar identificar o erro.