Hibernate nao funciona com Threads

Opa :smiley:

Utilizo um filtro do hibernate para as views mas e tem um metodo de busca que fica dentro de uma classe que implementa Runnable e por estar dentro de uma thread, eu recebo o erro que nao tem como funcionar pq a Transaction nao esta ativa.

Tem alguma solucao para resolver isso?

Das duas uma, ou vc abre e fecha a transação antes dela passar pelas theads ou vc arruma um jeito de passar a transação pelas threads. c tá fechadno o fluxo de transação antes de requerir todos os dados.

Como fazer isso?

	public List<CarretaBean> findByCarreta(String tipoCarroceria) {
		List<CarretaBean> resultado = new ArrayList<CarretaBean>();
		try{
			session = InitSessionFactory.getInstance().getCurrentSession();
			
			Query query = session.createQuery("from " + classe.getSimpleName() + " where tipo_carreta ='" + tipoCarroceria + "'");
			resultado = query.list();
			logger.info("Profissionais encontrados: " + resultado.size());
		} catch (Exception ex){
			logger.error("Erro ao buscar Profissionais Cadastrados: ", ex);
			mapaErros.put("erroBuscarProfissionaisCadastradosException", ex);
			SendMail sendEmail = new SendMail("Erro ao buscar Empresas Cadastradas: ", ex);
			sendEmail.run();
		} finally {
			try {
				if(session.isOpen()){
					logger.info("Finalizando sessao");
				}
			} catch (HibernateException hex) {
				mapaErros.put("erroFinalizarSessao", hex);
				SendMail sendEmail = new SendMail("Erro ao finalizar sessao: ", hex);
				sendEmail.run();
				logger.error("Erro ao finalizar sessao", hex);
			}
		}
		
		return resultado;
	}

O erro que eu recebo: