Я понимаю, что JPA 2 является спецификацией, а Hibernate - инструментом для ORM. Кроме того, я понимаю, что Hibernate имеет больше возможностей, чем JPA 2. Но с практической точки зрения, какая разница?
У меня есть опыт использования iBatis, и теперь я пытаюсь изучить Hibernate или JPA2. Я взял книгу Pro JPA2 и продолжает ссылаться на "поставщика JPA". Например:
Если вы считаете, что функция должна быть стандартизирована, вы должны высказаться и запросить его у вашего поставщика JPA.
Это меня смущает, поэтому у меня есть несколько вопросов:
- Используя только JPA2, я могу получить данные из БД, просто аннотируя мои POJO
- Предполагается ли, что JPA2 используется с "провайдером JPA", например, TopLink или Hibernate? Если да, то какое преимущество использования JPA2 + Hibernate по сравнению с Hibernate в одиночку?
- Вы можете порекомендовать хорошую практическую книгу JPA2. "Pro JPA2" больше похож на библию и ссылку на JPA2 (она не попадает в запросы до более поздней половины книги). Есть ли книга, которая использует подход к решению проблемы/решения для JPA2?