Я читал о них через различные ресурсы. Среди них: -
- Статья в Википедии о каждом из них
- В чем разница между JPA и Hibernate?
Вот мое понимание о том, в чем разница между ними. Я не уверен, что я прав насчет JPA против ORM
-
ORM: Реляционное сопоставление объектов - это концепция/процесс преобразования данных с объектно-ориентированного языка в реляционную БД и наоборот Например, в java это делается с помощью отражения и jdbc.
-
Спящий режим: Его реализация концепции выше.
-
JPA:. Это один шаг выше ORM. Его API и спецификации высокого уровня, чтобы различные инструменты ORM могли реализовывать так, чтобы они предоставляли гибкость для разработчика для изменения реализации с одного ORM на другой (например, если приложение использует JPA api и реализацию спящий режим. В будущем он может переключиться на IBatis, если потребуется. Но с другой стороны, если приложение напрямую блокирует реализацию с помощью Спящий режим без платформы JPA, переключение будет задачей геркулеса)
Может существовать реализация ORM с/без спецификации JPA. Например, в соответствии с этой ссылкой только в разделе спящего режима Hibernate версии 3.2 и более поздние версии обеспечивают реализацию для Java Persistence API