Мы можем использовать jpa без спящего режима
Я новичок в JPA.
В соответствии с моим пониманием JPA является спецификацией, а Hibernate реализует JPA и предоставляет функции добавления вместе с методами JPA.
Но я проходил через учебники JPA, где с помощью объекта EntityManager
мы можем выполнять CRUD на данных, не используя библиотеки Hibernate!
Так кто может, пожалуйста, дайте мне знать
- Могу ли я использовать только JPA, используя методы
EntityManager
, не используя Hibernate?
Пожалуйста, укажите полезную ссылку или пример.
Очень ценный ответ.
Спасибо.
Ответы
Ответ 1
Вы правы, JPA - это спецификация. Hibernate, EclipseLink - это пара его реализаций.
Чтобы использовать реализацию JPA, вам необходимо указать поставщика непрерывности (Hibernate, EclipseLink). Поставщики персистентности имеют классы реализации для спецификаций JPA.
Ответ 2
Вы не можете просто использовать JPA, потому что это API =), но есть много реализаций JPA:
Ответ 3
Если вы не хотите использовать Hibernate (или любой другой поставщик JPA), то вы должны реализовать своего собственного провайдера, предоставив реализацию для интерфейса javax.persistence.spi.PersistenceProvider.
Вопрос в том, зачем вам нужно изобретать колесо?
Если вам не нравится Hibernate, вы можете использовать один из многих других JPA-провайдеров, чтобы выбрать
Ответ 4
Вы можете использовать только JPA без использования Hibernate и Before должны знать о важных моментах между Hibernate и JPA, как указано ниже.
Спящий режим
- Hibernate - это ORM Framework, который поддерживает ORM, а также использует функции JPA.
- Кэш второго уровня доступен, поэтому производительность очень хорошая.
- Поддержка .Net с помощью инструмента NHibernate
- Сгенерирует HQL (Hibernate Query Language)
JPA
- JPA является частью спецификации EJB, выпущенной в J2EE 1.5, и это будет использоваться для java, а также для J2EE
- Кэш второго уровня недоступен, поэтому производительность не очень хорошая.
- Это не поддержка .Net
- Сгенерирует JPQL (язык запросов на сохранение Java)
- В верхней части любого поставщика непрерывности, такого как Hibernate, мы можем использовать JPA.
Ответ 5
JPA может использоваться без поставщика JPA, а также Hibernate, EclipseLink и т.д., только если сервер приложений уже имеет реализацию JPA. Скорее всего, в учебниках вы видели демоверсии, которые выполнялись на таком сервере приложений.
Ответ 6
Вы не можете использовать JPA самостоятельно. JPA - это спецификация, которая определяет API для объектно-реляционных отображений и для управления постоянными объектами, и вам необходим поставщик JPA для его реализации, например Hibernate, EclipseLink.