Читать книгу Desarrollo de aplicaciones web con Jakarta EE - César Francisco Castillo - Страница 26
2.6.1 Estructura y definición de una consulta
ОглавлениеJPQL se basa en el uso de cadenas para definir las consultas, y su sintaxis es muy similar a la de SQL. Por ejemplo, para recuperar todos los registros de una tabla llamada personas en SQL, tendríamos lo siguiente:
SELECT * FROM personas;
Su equivalente en JPQL:
SELECT p FROM Persona p;
Con esta cadena de texto obtenemos todas las instancias de la clase Persona. La letra p es una variable que itera sobre los objetos recuperados. Para poder utilizarla dentro de la aplicación, debemos crear una cadena de texto y asignarla a una variable de tipo String.
String consulta = “SELECT p FROM Persona p”;
Luego, se debe pasar como argumento al método createQuery() del EntityManager.
Query query = em.createQuery(consulta);
Por último, para retornar el listado, debemos invocar el método getResultList() de la interface Query.
return query.getResultList();
Esto retornará una lista cuyo tipo de dato es Object. Si queremos que sea de tipo Persona o de otro tipo, se deberá realizar la conversión correspondiente mediante el casteo.
return (Persona) query.getResultList();