На первый взгляд, JPA Criteria Queries - огромный шаг назад по отношению к Hibernate Criteria Queries. Это действительно так? - PullRequest
1 голос
/ 23 сентября 2011

Как такой колоссальный шаг назад может быть оправдан!?!Я что-то пропустил?Читаемость версии менеджера сущностей просто ужасна.

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();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...