Как такой колоссальный шаг назад может быть оправдан!?!Я что-то пропустил?Читаемость версии менеджера сущностей просто ужасна.
session (). CreateCriteria (Entity.class) .add (Restrictions.eq ("id"), id) .uniqueResult ();
против
EntityManager em = getEntityManager();
try {
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Transaction> cq = cb.createQuery(Transaction.class);
Metamodel m = em.getMetamodel();
EntityType<Transaction> Transaction_ = m.entity(Transaction.class);
Root<Transaction> transaction = cq.from(Transaction.class);
// Error here. cannot find symbol. symbol: variable creationDate
cq.where(cb.between(transaction.get(Transaction_.creationDate), startDate, endDate));
// I also tried this:
// cq.where(cb.between(Transaction_.getDeclaredSingularAttribute("creationDate"), startDate, endDate));
List<Transaction> result = em.createQuery(cq).getResultList();
return result;
} finally {
em.close();
}