Métodos/Frameworks de busca

Fala galera,

Não sei se aqui é o local ideal pra criar esse tópico, mas vou criar aqui mesmo.

Eu gostaria de perguntar aos membros, qual o método ou framework de busca que vocês usam para realizar buscas complexas na base de dados. Por exemplo, meu sistema lida com processos jurídicos, existem muuuuuuitos campos que o usuário pode pesquisar, de diferentes entidades e tabelas, dados provenientes de view’s, e etc.

Estou utilizando JBoss com JSF/RichFaces e Hibernate.

Nossas query’s estão sendo montadas manualmente, de acordo com a seleção do usuário, mas isso é extremamente não-prático. Vocês recomendam algo mais prático ?

Grato.