Я привык работать с API-интерфейсом Criteria в Hibernate и просто смотрел, как работают критерии в JPA 2.0.
То, что мне больше всего нравится в критериях спящего режима, - это легкость, которую мы должны составить с критериями.
Критерии JPA кажутся довольно тяжелыми для меня, а не такими быстрыми, как критерии гибернации. Одним из основных преимуществ по сравнению с Hibernate для меня, по-видимому, является использование метамодели (классы Entity_.java), но все же это немного тяжело, так как вам нужно поддерживать 2 класса или добавить обработчик аннотаций (хотя его довольно легко для интеграции с плагинами maven)
Я читал блог на SpringSource, который позволяет уменьшить сложность составления с помощью "JPA Predicates" и немного походить на Criterions in Hibernate.
Проект Querydsl кажется интересным.
http://blog.springsource.com/2011/04/26/advanced-spring-data-jpa-specifications-and-querydsl/
Просто интересно, для тех, кто использует JPA2, вы используете API критериев или это слишком тяжело для вас?
Для тех, кто знаком с критериями Hibernate и кто теперь работает с критериями JPA, какой подход вам нравится больше всего и почему?
Рассматриваете ли вы использование или использование такой структуры, как Querydsl или Spring Спецификации по JPA2 для построения предикатов запроса? Считаете ли вы, что эти рамки достаточно зрелы, чтобы их принять?