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