Uso de class ao criar uma list com hibernate

Boa tarde,

estou usando o seguinte codigo para retornar o resultado de uma busca para o meu front:

return HibernateUtil.currentSession()
		.createSQLQuery(sql)
		.addEntity(Pessoa.class)
		.setMaxResults(50)
		.list();

Minha duvida é referente a esta linha “.addEntity(Pessoa.class)” que claramente agrupa o resultado do meu sql em um objeto que poderá ser acessado pelo meu front, bastando eu dar um “{Pessoa.nome}” no meu html que o nome sera exibido. Até aqui tudo bem, o problema é que esta abordagem funciona apenas quando meu sql faz um select tudo (select * from…), tentei mudar o select deixando ele mais especifico nos dados q deveria trazer (select nome, idade from pessoa) e o codigo deu erro, começou a pedir os outros atributos que a entity Pessoa contem, ae eu fui e tirei a linha “.addEntity(Pessoa.class)” do codigo e o erro parou, porem eu tive outro erro, no html as partes que estavam “{Pessoa.algo}” não funcionam mais, acredito eu que pq exclui a linha que agrupa o resultado do sql em um obejto pessoa, ok, mas como eu devo fazer pra acessar os dados agora ja q nao os agrupo em um objeto mais?

Porque você não usa HQL ou Criteria para fazer essa consulta?

eu estava usando criteria mas estava dificultando muito a leitura do sql, eu queria evitar escrever sql usando hibernate mas essa consulta em especifico necessita que seja assim pois ela sera sempre alterada durante um tempo, incrementando e tirando coisas e fica muito mais facil pra mim fazer direto em sql ja q antes de passa-la para o java eu terei q testar no mysql e etc.

Mas de qualquer forma acredito q HQL ou criteria nao irão resolver meu problema de limitar os dados trazidos do banco, tive problemas em tentar isso com estes dois caras, se alguem souber uma solução me ajude por favor