Читать книгу Desarrollo de aplicaciones web con Jakarta EE - César Francisco Castillo - Страница 28

2.6.3 Consultas basadas en nombres

Оглавление

Cuando realizamos el mapeo objeto-relacional con la ayuda del asistente de Netbeans, se crea por defecto un conjunto de consultas con la anotación @ NamedQuery.

Por ejemplo, en la entidad Carrera encontramos las siguientes consultas:


A través de ellas podemos listar todas las carreras y buscar una carrera por su nombre o tipo. Pero, ¿qué ocurre si necesitamos obtener o realizar otras consultas y no se encuentran?

JPA nos permite crear consultas según nuestras necesidades y agregarlas a dicho conjunto, con lo que se evita así la repetición. Por ejemplo, podemos crear una consulta que se llame buscarPorIdFacultad y que retorne el listado de todas las carreras de una determinada facultad.

Para ello, lo primero que haremos será definirla mediante la anotación correspondiente y, luego, agregarla al conjunto:

@NamedQuery(name = “buscarPorIdFacultad”, query = “SELECT c FROM Carrera c WHERE c.idFacultad.idFacultad = ?1)

Una vez hayamos definido la consulta basada en nombre, la debemos crear mediante JPA utilizando el método createNamedQuery() del EntityManager, como se observa en el siguiente fragmento de código:



Desarrollo de aplicaciones web con Jakarta EE

Подняться наверх