Entendo que o JPA 2 é uma especificação e o Hibernate é uma ferramenta para ORM. Além disso, entendo que o Hibernate possui mais recursos do que o JPA 2. Mas, do ponto de vista prático, qual é realmente a diferença?
Tenho experiência com o iBatis e agora estou tentando aprender Hibernate ou JPA2. Peguei o livro Pro JPA2 e ele continua se referindo ao "provedor JPA". Por exemplo:
Se você acha que um recurso deve ser padronizado, fale e solicite ao seu provedor de JPA
Isso me confunde, então eu tenho algumas perguntas:
- Usando o JPA2 sozinho, é possível buscar dados do banco de dados simplesmente anotando meus POJO's
- O JPA2 deve ser usado com um "provedor JPA", por exemplo, TopLink ou Hibernate? Em caso afirmativo, qual é o benefício de usar o JPA2 + Hibernate em comparação ao JPA2 sozinho ou comparado ao Hibernate sozinho?
- Você pode recomendar um bom livro prático sobre JPA2. "Pro JPA2" parece mais uma Bíblia e referência ao JPA2 (ele não entra em consultas até a metade final do livro). Existe um livro que adota uma abordagem de problema / solução para o JPA2?