Foros del Web » Programación para mayores de 30 ;) » Java »

Metodo replance texto.

Estas en el tema de Metodo replance texto. en el foro de Java en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 09/01/2015, 15:18
 
Fecha de Ingreso: octubre-2008
Ubicación: Madrid
Mensajes: 352
Antigüedad: 16 años, 1 mes
Puntos: 5
Metodo replance texto.

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 original
  1. SELECT COUNT(*) AS col_0_0_
  2. FROM seleccion.peticion peticionli0_
  3. WHERE peticionli0_.id_peticion IN (
  4.     SELECT peticion1_.id_peticion FROM seleccion.peticion peticion1_
  5.     LEFT OUTER JOIN seleccion.listado_seleccion listadosel2_ ON peticion1_.id_tecnologia=listadosel2_.id
  6.     LEFT OUTER JOIN seleccion.listado_seleccion listadosel3_ ON peticion1_.id_tecnologia_2=listadosel3_.id
  7.     LEFT OUTER JOIN seleccion.listado_seleccion listadosel4_ ON peticion1_.id_puesto=listadosel4_.id
  8.     LEFT OUTER JOIN seleccion.listado_seleccion listadosel5_ ON peticion1_.categoria=listadosel5_.id
  9.     LEFT OUTER JOIN commons.usuario usuario6_ ON peticion1_.id_usuario_gerente=usuario6_.id
  10.     LEFT OUTER JOIN commons.usuario usuario7_ ON peticion1_.id_tecnico_seleccion_1=usuario7_.id
  11.     LEFT OUTER JOIN commons.usuario usuario8_ ON peticion1_.id_tecnico_seleccion_2=usuario8_.id
  12.     LEFT OUTER JOIN commons.contacto contactoco9_ ON peticion1_.contacto_comun=contactoco9_.id
  13.     LEFT OUTER JOIN commons.cliente clientecom10_ ON peticion1_.cliente_comun=clientecom10_.id
  14.     CROSS JOIN seleccion.listado_seleccion listadosel11_
  15.     CROSS JOIN seleccion.listado_seleccion listadosel12_
  16.     CROSS JOIN seleccion.listado_seleccion listadosel13_
  17.     WHERE peticion1_.id_puesto=listadosel11_.id
  18.     AND peticion1_.id_tecnologia=listadosel12_.id
  19.     AND peticion1_.id_tecnologia_2=listadosel13_.id
  20.     AND peticion1_.security_domain_id=?
  21.     AND (LOWER(translate(TRIM(BOTH FROM peticion1_.perfil_tecnico), ?, ?)) LIKE LOWER(translate(?, ?, ?))
  22.         OR LOWER(translate(TRIM(BOTH FROM peticion1_.etiquetas), ?, ?)) LIKE LOWER(translate(?, ?, ?))
  23.         OR LOWER(translate(TRIM(BOTH FROM peticion1_.observaciones_peti), ?, ?)) LIKE LOWER(translate(?, ?, ?))
  24.         OR LOWER(translate(TRIM(BOTH FROM listadosel11_.nombre), ?, ?)) LIKE LOWER(translate(?, ?, ?))
  25.         OR LOWER(translate(TRIM(BOTH FROM listadosel12_.nombre), ?, ?)) LIKE LOWER(translate(?, ?, ?))
  26.         OR LOWER(translate(TRIM(BOTH FROM listadosel13_.nombre), ?, ?)) LIKE LOWER(translate(?, ?, ?)))

Y un segundo String con los parametros.

Código SQL:
Ver original
  1. parameter [1] AS [BIGINT] - 2,                                                              
  2. parameter [2] AS [VARCHAR] - 'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ',                
  3. parameter [3] AS [VARCHAR] - 'aaaaaeeeeiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcC',                
  4. parameter [4] AS [VARCHAR] - %Partenon%,                                                    
  5. parameter [5] AS [VARCHAR] - 'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ',                
  6. parameter [6] AS [VARCHAR] - 'aaaaaeeeeiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcC',                
  7. parameter [7] AS [VARCHAR] - 'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ',                
  8. parameter [8] AS [VARCHAR] - 'aaaaaeeeeiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcC',                
  9. parameter [9] AS [VARCHAR] - %Partenon%,                                                    
  10. parameter [10] AS [VARCHAR] - 'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ',
  11. parameter [11] AS [VARCHAR] - 'aaaaaeeeeiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcC',                
  12. parameter [12] AS [VARCHAR] - 'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ',                
  13. parameter [13] AS [VARCHAR] - 'aaaaaeeeeiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcC',                
  14. parameter [14] AS [VARCHAR] - %Partenon%,                                                    
  15. parameter [15] AS [VARCHAR] - 'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ',                
  16. parameter [16] AS [VARCHAR] - 'aaaaaeeeeiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcC',                
  17. parameter [17] AS [VARCHAR] - 'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ',                
  18. parameter [18] AS [VARCHAR] - 'aaaaaeeeeiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcC',                
  19. parameter [19] AS [VARCHAR] - %Partenon%,                                                    
  20. parameter [20] AS [VARCHAR] - 'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ',                
  21. parameter [21] AS [VARCHAR] - 'aaaaaeeeeiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcC',                
  22. parameter [22] AS [VARCHAR] - 'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ',                
  23. parameter [23] AS [VARCHAR] - 'aaaaaeeeeiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcC',                
  24. parameter [24] AS [VARCHAR] - %Partenon%,                                                    
  25. parameter [25] AS [VARCHAR] - 'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ',                
  26. parameter [26] AS [VARCHAR] - 'aaaaaeeeeiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcC',                
  27. parameter [27] AS [VARCHAR] - 'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ',                
  28. parameter [28] AS [VARCHAR] - 'aaaaaeeeeiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcC',                
  29. parameter [29] AS [VARCHAR] - %Partenon%,                                                    
  30. parameter [30] AS [VARCHAR] - 'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ',                
  31. 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.
  #2 (permalink)  
Antiguo 10/01/2015, 09:13
Avatar de loncho_rojas
Colaborador
 
Fecha de Ingreso: octubre-2008
Ubicación: En el mejor lugar del mundo
Mensajes: 2.704
Antigüedad: 16 años, 1 mes
Puntos: 175
Respuesta: Metodo replance texto.

private void asignarParametros(int valor 1, String valor2, String valor3......................)


parameter [1] AS [BIGINT] - valor1,
parameter [2] AS [VARCHAR] - valor2, .........
__________________
Ayudo con lo que puedo en el foro, y solo en el foro.. NO MENSAJES PRIVADOS.. NO EMAILS NI SKYPE u OTROS.

Antes de hacer un TOPICO piensa si puedes hallarlo en Google o en el Buscador del Foro...
  #3 (permalink)  
Antiguo 10/01/2015, 09:24
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 10 años, 3 meses
Puntos: 182
Respuesta: Metodo replance texto.

Buenas,

Con hibernate y HQL puedes hacerlo fácilmente.

Código Java:
Ver original
  1. String consulta = "SELECT COUNT(*) AS col_0_0_  ...................[Toda tu consulta hibernate aqui]";
  2. List result = session.createQuery(consulta)
  3. .setInteger(0, 2)
  4. .setString(1, "áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ")
  5.  [....]
  6. .list();

Aquí tienes un tutorial de Mkyong al respecto.
http://www.mkyong.com/hibernate/hibe...ding-examples/

Ya nos cuentas si te sale.

Un saludo
__________________
If to err is human, then programmers are the most human of us

Etiquetas: metodo, string, valor
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:45.