Skip to content

FindByName

josejbocanegra edited this page May 29, 2019 · 1 revision

Este es un ejemplo del método de la persistencia findByName.

public CityEntity findByName(String name) {
    LOGGER.log(Level.INFO, "Consultando ciudad por nombre ", name);
    // Se crea un query para buscar ciudades con el nombre que recibe el método como argumento. ":name" es un placeholder que debe ser remplazado
    TypedQuery query = em.createQuery("Select e From CityEntity e where e.name = :name", CityEntity.class);
    // Se remplaza el placeholder ":name" con el valor del argumento 
    query = query.setParameter("name", name);
    // Se invoca el query se obtiene la lista resultado
    List<CityEntity> sameName = query.getResultList();
    CityEntity result;
    if (sameName == null) {
        result = null;
    } else if (sameName.isEmpty()) {
        result = null;
    } else {
        result = sameName.get(0);
    }
    LOGGER.log(Level.INFO, "Saliendo de consultar ciudad por nombre ", name);
    return result;
}
Clone this wiki locally