/** * 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; }
protected String buildWhereClause(Operation op, String prefix, NamedParameter param) { if (op == Operation.NULL || op == Operation.NOT_NULL) { return buildFieldId(prefix, param.getField()) + " " + op.getRepresentation(); } return buildFieldId(prefix, param.getField()) + buildParameterName(op, param.getName()); }