Я розумію, що JPA 2 - це специфікація, і Hibernate - це інструмент для ORM. Також я розумію, що Hibernate має більше можливостей, ніж JPA 2. Але з практичної точки зору, яка насправді різниця?
У мене є досвід використання iBatis, і зараз я намагаюся навчитися або в сплячому режимі, або в JPA2. Я взяв книгу Pro JPA2, і вона посилається на "постачальника JPA". Наприклад:
Якщо ви вважаєте, що функція повинна бути стандартизованою, вам слід поговорити з нею та попросити її у свого постачальника JPA
Це мене бентежить, тому у мене є кілька питань:
- Лише використовуючи JPA2, я можу отримати дані з БД, просто анотувавши мої POJO
- Чи повинен JPA2 використовуватися з "постачальником послуг JPA", наприклад, TopLink або сплячий режим? Якщо так, то яка користь від використання JPA2 + Hibernate порівняно з JPA2 або порівняно зі сплячим режимом?
- Чи можете ви порекомендувати хорошу практичну книгу JPA2. "Pro JPA2" схоже на Біблію та посилання на JPA2 (він не потрапляє до запитів до пізнішої половини книги). Чи є книга, яка застосовує підхід до вирішення проблеми JPA2?