Erro no Hibernate caindo no erro HibernateException --> Transaction not successfully started

Olá,

uma duvida quando executo o metodo abaixo cai por errPor está dando esso erro e o que fazer pra não acontecer ???

alguém pode me ajudar…

abs

Não foi possivel listar a categoria.Erro :Transaction not successfully started
public List<Produto> listar() {
		List<Produto> resultado = null;

		try {
			this.sessao = HibernateUtil.getSessionfactory().openSession();
			this.transacao = sessao.getTransaction();
			Criteria filtro = this.sessao.createCriteria(Produto.class).addOrder(Order.asc("produto"));
			resultado = filtro.list();
			this.transacao.commit();

		} catch (HibernateException e) {
			System.out.println("Não foi possivel listar a categoria.Erro :"
					+ e.getMessage());
		} finally {
			try {
				if (this.sessao.isOpen())
				 sessao.close();
			} catch (Throwable e2) {
				System.out
						.println("Erro ao fechar operação de listar.Mensagem:"
								+ e2.getMessage());
			}
		}
		return resultado;
	}

ow, ao inves de usar sessao.getTransaction(); use sessao.beginTransaction();

Esse erro acontece porque você está tentando utilizar alguma sessão morta

Só para complementar e deixar mais claro. Pela API do Hibernate:
Session.getTransaction() - Retorna uma transação já ativa na sessão.
Session.beginTrasaction() - Inicializa uma transação.

No seu caso, não tinha nenhuma transação ativa, por isso o erro.
O correto é usar beginTransaction() mesmo.

O getTransaction() você usaria se quisesse pegar a transação para dar commit ou rollback por exemplo.