Query Template

Pessoal.

Qual a sugestão para desenvolver um mecanismo de modelos de consultas onde por exemplo em uma tela que tem muitos filtros, eu escolheria um template a ser utilizado de acordo com os filtros selecionados, para que a minha query tenha um tuning melhor utilizando somente o que é necessário para os filtros selecionados pelo usuário na tela (JSP).

Já tenho uma tabela com os modelos de consultas onde os valores variáveis estão no formato {nome_parametro}.

ex.:

select codigo, nome
from clientes
where idade between {IdadeInicial } and {IdadeFinal}
and cidade = {CodigoCidade};

Pensei em popular um HashMap, usando como chave o nome do parâmetro na consulta e como valor o que foi selecionado no filtro.
Depois chamar um método que substitui os parâmetros da consulta pelos valores do HashMap e retorna o SQL completo já com os valores.

O que vocês sugerem ?

[]s

Douglas Falcão.