Problemas com HQL

Fala ai rapazeada!!
Bom dia!

Bom, meu problema é o seguinte: tenho uma consulta hql, que num dos case tenho o seguinte:

case 0:
         hql.append(" and upper(inv.denominacao) like '%" + campo.toUpperCase() + "%'");
         break;

Quando o usuário digita o caracter " ’ " o compilador entende que é “%” e não o " ’ " ou seja ele entente que é fechada as áspas simples contendo assim o caracter “%”.
Alguém tem alguma idéia de com solucionar esse problema?

Desde Já vlw!

Tenta usar \ antes para escape.

[quote=fiaux]Tenta usar \ antes para escape.

Vlw a tentativa… mas ainda sim não deu.
Estou tentando bolar um javascript pra impedir que o usuario digite esse cacter.
Mas se tiver outra :idea: manda ai, será sempre bem vindo.

Lendo de novo, acho que não entendi bem da primeira vez o problema, explica aí com mais detalhes.