Como eu pego a conexão do hibernate?

Preciso pegar a conexão do hibernate para carregar um relatório só que o método que eu tentei usar fica subrescrito e retorna null, qual é a forma correta de ser fazer isso?
estou fazendo assim:

try {

                  String jasperPrint = JasperFillManager.fillReportToFile(caminho+ "\\reports\\clientes.jasper", null, sessao.connection());
                  

                  JasperViewer viewer = new JasperViewer(jasperPrint, false, false);
                  viewer.setExtendedState(JasperViewer.MAXIMIZED_BOTH);//maximizado
                  viewer.setTitle("Relatório de Clientes");//titulo do relatório
                  viewer.setVisible(true);
   } catch (JRException erro){
                  erro.printStackTrace();
  }

O sessao.connection() retorna null.

Será que não tem ngm que tenha passado por isso?
Alguem da um help ae to precisando.

Abraço a todos.

Estranhíssimo, session.connection() nunca deveria retornar nulo. Talvez seja interessante tentar fazer com session.doWork():

sessao.doWork(new Work() {
  public void execute(Connection conexao) {
    // Usar a conexão ...
  }
});

Opa cara obrigado pela dica
mas na minha variavel Session eu coloquei o .doWork mas não existe. fica sublinhado de vermelhor mesmo depois de fazer alguns import esse doWork é de session mesmo?

É, sim:

http://docs.jboss.org/hibernate/stable/core/api/org/hibernate/Session.html#doWork(org.hibernate.jdbc.Work)

Seu Hibernate deve estar antigo, atualize para uma versão mais nova.

Minha verão do hibernate é a 3, estranho não ter, mas vo da mais pesquisa e descobrir o que ta causando isso

oi,

cole o código da classe que gerencia a sessão, o HibernateUtil ou algo assim

já viu se os parâmetros de conexão estão corretos? consegue se conectar sem usar o Hibernate??

abs

depois da dica do roger_rf meu código fico assim:

             try {

                       sessao.doWork(new Work() {
                       public void execute(Connection connection){
                           String jasperPrint = JasperFillManager.fillReportToFile(caminho+ "\\reports\\clientes.jasper", null, connection);
                      

                           JasperViewer viewer = new JasperViewer(jasperPrint, false, false);
                           viewer.setExtendedState(JasperViewer.MAXIMIZED_BOTH);//maximizado
                           viewer.setTitle("Relatório de Clientes");//titulo do relatório
                           viewer.setVisible(true);
                       }
                      });
                 } catch (JRException erro){
                      erro.printStackTrace();
                 }

mas por algum motivo meu hibernate não localica o doWork()
eu ultilizo o hibernate 3 é a versão usada no assistente do netbeans, vou baixar direto do site pra ver no que da.

Realmente era a verão perguei outra versão 3 só que a mais recente, e agora funcionou só que retornou este erro:

Exception in thread "AWT-EventQueue-0" java.lang.NoSuchFieldError: BOOLEAN
        at net.sf.jasperreports.engine.query.JRHibernateQueryExecuter.<clinit>(JRHibernateQueryExecuter.java:70)
        at net.sf.jasperreports.engine.query.JRHibernateQueryExecuterFactory.createQueryExecuter(JRHibernateQueryExecuterFactory.java:135)
        at net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:681)
        at net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:605)
        at net.sf.jasperreports.engine.fill.JRBaseFiller.setParameters(JRBaseFiller.java:1281)
        at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:901)
        at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:845)
        at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:58)
        at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417)
        at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:199)
        at net.sf.jasperreports.engine.JasperFillManager.fillReportToFile(JasperFillManager.java:95)

tb resolvi o erro, foi só eu colocar alguns jar de depencias na minha lib que funciono.

mas agora meu relatório não exibe nada aparece como senão tivesse nenhum registro no banco de dados mais tem e tb tem outro problema hehehehe, mas esse acredito que seja simples de resolver qdo eu fecho o relatório meu programa parece que fica bloqueado seilah, eu clico em qualquer lugar e nao acontece nada, tipo como se tivesse uma dialog aberta com o modal setado em true, mais nao tem, tem alguma flag que eu coloquei que tava fazendo isso será?