Criar consulta personalizada em tempo de execução com Hibernate

Bom dia pessoal…

Eu gostaria de saber se tem como eu criar uma consulta em tempo de execução usando o Hibernate…
Por exemplo:

Eu tenho uma pesquisa avançada na minha aplicação e o usuario escolhe quais campos ele quer pesquisar…eu teria que montar uma sql de acordo com o q ele digitar…
mas como eu faço isso usando o Hibernate???

Desde já agradeço!

Talvez de usando SQLQuery ao invés de HQL ou Criteria.

Dai vc cria um método que receba como parâmetro a String do select criado.

Mas o maior trabalho vai ser na hora de retornar esse resultado. Pq vc vai ter que criar uma tabela, se for usar tabela, de forma dinâmica conforme o numero de colunas que vai retornar. Pq vc nunca saberá quantas colunas o usuário vai usar na sua consulta como retorno.