Hibernate retornar resultset

Pessoal pelo oq eu vejo só é possível retornar um Object (uniqueResult) ou um List(list) de uma query do hibernate.
Só que eu preciso que ele retorne um ResultSet, existe essa possibilidade?
Qualquer ajuda é bem vinda
Ou então através dessa lista que ele retorna, conseguir pegar o nome das colunas

Acho que executando um SQL nativo… deve funcionar…

http://swik.net/Hibernate/Using+SQL+From+Within+Hibernate
"Hibernate.getSession.getConnection.createStatement.executeQuery"

Dai vc resulta um ResultSet…
Mas,
nao eh uma pratica muito recomendavel

Assim ele retorna mesmo.
mas nesse caso esta utilizando JDBC e não JPA…
Eu quero utilizar o CreateQuery dele pq posso dar nome para os parametros na consulta.
Então preciso utilizar o createQuey ou createSqlQuery mas ao inves de retornar um object ou um list, retornar um resultset.

É antigo o tópico mas tenho uma coisa que pode resolver o problema, nao sabia como resolver mas achei uma resposta na net, é mais ou menos assim:

Precisava mapear um select com varios joins e colunas de varias tabelas em um Objeto apenas para transportá-lo para outras camadas, esse objeto não está mapeado como entidade e nem existe uma view para ele, eu realmente precisava fazer o select ´puro e mapear em um objeto, esta foi a solução que encontrei…

StringBuilder = new StringBuilder();
		sql.append("SELECT a, b, c, d.* from table seus joins, seus where");

	
			 SQLQuery query =  getCurrentSession().createSQLQuery(sql.toString());
			 query.addScalar("usuarioId", new IntegerType());
			 query.addScalar("cartaoId", new IntegerType());
			 query.addScalar("hash", new StringType());
			 query.addScalar("promocaoId", new IntegerType());
			 query.addScalar("promoCredito", new IntegerType());
			 query.addScalar("promoDebito", new IntegerType());
			 query.addScalar("cartaoTipo", new StringType());
			 query.addScalar("cartaoValido", new IntegerType());
			 query.setResultTransformer(Transformers.aliasToBean(ObjetoNaoMapeadoVO.class));
			 
			 List<ObjetoNaoMapeadoVO> objetoMapeadoVO = query.list();