До сих пор я всегда предпочитал использовать Hibernate напрямую, а не JPA 1.0, потому что JPA не хватало некоторых важных функций, которые мне нужны, и Hibernate предоставлял: API критериев, кеш второго уровня, однонаправленный OneToMany и несколько других.
Теперь, с появлением JPA 2.0 и всех новых функций, которые приходят с ним и которые изначально отсутствовали в JPA 1.0 (http://en.wikibooks.org/wiki/Java_Persistence/What_is_new_in_JPA_2.0%3F), мне интересно, есть ли необходимость использовать Hibernate напрямую.
Каково ваше мнение? Что осталось в Hibernate 3.5, что я не могу сделать с JPA 2.0?