/** * returns list of entities meeting the specified criteria. * * @param criterion varargs criterion. (use something like Restrictions.eq(propertyName, value);) * null criterion returns all. * @param sortOrder the Order Object. Null value indicates no sort order. * @return the non null list. * @throws HibernateException if there is an error in persistence */ @Nonnull public List<T_ENTITY> listWithJQL(String qlString, NamedParameter... params) { List<T_ENTITY> result = null; try { EntityManager em = getEntityManager(); begin(); TypedQuery<T_ENTITY> query = em.createQuery(qlString, entityClass); for (NamedParameter param : params) { query.setParameter(param.getName(), param.getValue()); } result = query.getResultList(); commit(); } finally { cleanup(); } return result; }
/** * @param qlString * @param params * @return */ @Nullable public T_ENTITY findOneWithJQL(String qlString, NamedParameter... params) { T_ENTITY result = null; try { EntityManager em = getEntityManager(); begin(); TypedQuery<T_ENTITY> query = em.createQuery(qlString, entityClass); for (NamedParameter param : params) { query.setParameter(param.getName(), param.getValue()); } result = query.getSingleResult(); commit(); } catch (Exception e) { LOG.info("no entity matching query"); } finally { cleanup(); } return result; }