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

2.9.5 Ejemplos de consultas

Оглавление

Desarrollaremos algunas consultas empleando parte de lo aprendido en esta sección de la API de Criterios.

Listado de carreras:

CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder(); CriteriaQuery criteriaQuery = criteriaBuilder.createQuery(Carrera.class); Root<Carrera> raiz = criteriaQuery.from(Carrera.class); TypedQuery<Carrera> query = em.createQuery(criteriaQuery); return query.getResultList();

Obtener una determinada carrera según su id:

CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder(); CriteriaQuery criteriaQuery = criteriaBuilder.createQuery(); Root <Carrera>raiz = criteriaQuery.from(Carrera.class); criteriaQuery.where(criteriaBuilder.equal(raiz.get(“idCarrera”), id)); Query query = em.createQuery(criteriaQuery); return (Carrera) query.getSingleResult();

Cantidad de carreras:

CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder(); CriteriaQuery criteriaQuery = criteriaBuilder.createQuery(); Root<Carrera> raiz = criteriaQuery.from(Carrera.class);

criteriaQuery.select(criteriaBuilder.count(raiz)); TypedQuery<Long> query = em.createQuery(criteriaQuery); Long cantidad = query.getSingleResult();

return cantidad;

Listado de carreras ordenado de manera ascendente según su nombre:

CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder(); CriteriaQuery criteriaQuery = criteriaBuilder.createQuery(); Root<Carrera> carreras = criteriaQuery.from(Carrera.class);

// Ordenamos ascendentemente

criteriaQuery.orderBy(criteriaBuilder.asc(carreras.get(“nombre”)));

TypedQuery<Carrera> query = em.createQuery(criteriaQuery); return query.getResultList();

Listado de carreras cuyo nombre contenga la cadena “pro”:

CriteriaBuilder criteriaBuilder = em.getCriteriaBuilder(); CriteriaQuery criteriaQuery = criteriaBuilder.createQuery(); Root <Carrera>raiz = criteriaQuery.from(Carrera.class); String texto = “pro”; criteriaQuery.where(criteriaBuilder.like(criteriaBuilder.lower(raiz.get(“nombre”)), “%” + texto + “%”)); TypedQuery<Carrera> query = em.createQuery(criteriaQuery); return query.getResultList();

Para mayor detalle sobre Criteria API puede acceder a la siguiente dirección URL: https://wiki.eclipse.org/Main_Page

Desarrollo de aplicaciones web con Jakarta EE

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