Seleccionar página

Si queremos hacer una consulta de un campo de texto y queremos usar %wildcards%m la primera idea es hacer algo como

[java]Query q = entityManager.createQuery(“SELECT p FROM Pais p WHERE p.nombre LIKE ‘%:nombre%’ “);

q.setParameter(“nombre”, “españa”);[/java]

De esta forma dará un error diciendo que no encuentra el parámetro ‘nombre’. Esto es porque está puesto entre comillas en el ejbql, de forma que lo interpreta como un literal.

Lo correcto sería hacer, haciendo además que no distinga entre mayúsculas y minúsculas

[java]Query q = entityManager.createQuery(“SELECT p FROM Pais p WHERE LOWER(p.nombre) LIKE :nombre “);

q.setParameter(“nombre”, “%spañ%”.toLowerCase());[/java]

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.plugin cookies

ACEPTAR
Aviso de cookies