En mi consola Hibernate me da las consultas por un lado la consulta en sí, y al final los parámetros. Pero en las consultas grandes es un engorro ir cambiándolo a mano.
Quiero hacer un método pero no veo una forma fácil y cómoda. 
Necesito que dado un String con la query:    
Código SQL:
Ver originalSELECT COUNT(*) AS col_0_0_ 
FROM seleccion.peticion peticionli0_ 
WHERE peticionli0_.id_peticion IN (
    SELECT peticion1_.id_peticion FROM seleccion.peticion peticion1_ 
    LEFT OUTER JOIN seleccion.listado_seleccion listadosel2_ ON peticion1_.id_tecnologia=listadosel2_.id 
    LEFT OUTER JOIN seleccion.listado_seleccion listadosel3_ ON peticion1_.id_tecnologia_2=listadosel3_.id 
    LEFT OUTER JOIN seleccion.listado_seleccion listadosel4_ ON peticion1_.id_puesto=listadosel4_.id 
    LEFT OUTER JOIN seleccion.listado_seleccion listadosel5_ ON peticion1_.categoria=listadosel5_.id 
    LEFT OUTER JOIN commons.usuario usuario6_ ON peticion1_.id_usuario_gerente=usuario6_.id 
    LEFT OUTER JOIN commons.usuario usuario7_ ON peticion1_.id_tecnico_seleccion_1=usuario7_.id 
    LEFT OUTER JOIN commons.usuario usuario8_ ON peticion1_.id_tecnico_seleccion_2=usuario8_.id 
    LEFT OUTER JOIN commons.contacto contactoco9_ ON peticion1_.contacto_comun=contactoco9_.id 
    LEFT OUTER JOIN commons.cliente clientecom10_ ON peticion1_.cliente_comun=clientecom10_.id 
    CROSS JOIN seleccion.listado_seleccion listadosel11_ 
    CROSS JOIN seleccion.listado_seleccion listadosel12_ 
    CROSS JOIN seleccion.listado_seleccion listadosel13_
    WHERE peticion1_.id_puesto=listadosel11_.id 
    AND peticion1_.id_tecnologia=listadosel12_.id 
    AND peticion1_.id_tecnologia_2=listadosel13_.id 
    AND peticion1_.security_domain_id=? 
    AND (LOWER(translate(TRIM(BOTH FROM peticion1_.perfil_tecnico), ?, ?)) LIKE LOWER(translate(?, ?, ?)) 
        OR LOWER(translate(TRIM(BOTH FROM peticion1_.etiquetas), ?, ?)) LIKE LOWER(translate(?, ?, ?)) 
        OR LOWER(translate(TRIM(BOTH FROM peticion1_.observaciones_peti), ?, ?)) LIKE LOWER(translate(?, ?, ?)) 
        OR LOWER(translate(TRIM(BOTH FROM listadosel11_.nombre), ?, ?)) LIKE LOWER(translate(?, ?, ?)) 
        OR LOWER(translate(TRIM(BOTH FROM listadosel12_.nombre), ?, ?)) LIKE LOWER(translate(?, ?, ?)) 
        OR LOWER(translate(TRIM(BOTH FROM listadosel13_.nombre), ?, ?)) LIKE LOWER(translate(?, ?, ?)))
  
Y un segundo String con los parametros.    
Código SQL:
Ver originalparameter [1] AS [BIGINT] - 2,                                                               
parameter [2] AS [VARCHAR] - 'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ',                 
parameter [3] AS [VARCHAR] - 'aaaaaeeeeiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcC',                
parameter [4] AS [VARCHAR] - %Partenon%,                                                     
parameter [5] AS [VARCHAR] - 'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ',                
parameter [6] AS [VARCHAR] - 'aaaaaeeeeiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcC',                 
parameter [7] AS [VARCHAR] - 'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ',                 
parameter [8] AS [VARCHAR] - 'aaaaaeeeeiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcC',                 
parameter [9] AS [VARCHAR] - %Partenon%,                                                     
parameter [10] AS [VARCHAR] - 'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ',
parameter [11] AS [VARCHAR] - 'aaaaaeeeeiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcC',                
parameter [12] AS [VARCHAR] - 'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ',                
parameter [13] AS [VARCHAR] - 'aaaaaeeeeiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcC',                
parameter [14] AS [VARCHAR] - %Partenon%,                                                    
parameter [15] AS [VARCHAR] - 'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ',                
parameter [16] AS [VARCHAR] - 'aaaaaeeeeiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcC',                
parameter [17] AS [VARCHAR] - 'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ',                
parameter [18] AS [VARCHAR] - 'aaaaaeeeeiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcC',                
parameter [19] AS [VARCHAR] - %Partenon%,                                                    
parameter [20] AS [VARCHAR] - 'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ',                
parameter [21] AS [VARCHAR] - 'aaaaaeeeeiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcC',                
parameter [22] AS [VARCHAR] - 'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ',                
parameter [23] AS [VARCHAR] - 'aaaaaeeeeiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcC',                
parameter [24] AS [VARCHAR] - %Partenon%,                                                    
parameter [25] AS [VARCHAR] - 'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ',                
parameter [26] AS [VARCHAR] - 'aaaaaeeeeiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcC',                
parameter [27] AS [VARCHAR] - 'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ',                
parameter [28] AS [VARCHAR] - 'aaaaaeeeeiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcC',                
parameter [29] AS [VARCHAR] - %Partenon%,                                                    
parameter [30] AS [VARCHAR] - 'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ',                
parameter [31] AS [VARCHAR] - 'aaaaaeeeeiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcC',
  
Quiero que el método me de como resultado la consulta del primer String con las ? cambiadas por su valor
Osea la primera ? por 2
la segunda por  'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ''
Etc...
Me podéis dar ideas.
Gracias.