it-roy-ru.com

мы можем использовать jpa без спящего режима

Я новичок в JPA.

Насколько я понимаю, JPA является спецификацией, а Hibernate реализует JPA и предоставляет дополнительные функции наряду с методами JPA.

Но я изучал JPA, где, используя объект EntityManager, мы можем выполнять CRUD для данных, не используя библиотеки Hibernate!

Так может кто-нибудь, пожалуйста, дайте мне знать 

  1. Могу ли я использовать JPA один, используя методы EntityManager, не используя Hibernate?

Пожалуйста, укажите несколько полезных ссылок или примеров.

Очень ценю ответ.
Спасибо.

17
Ali

Вы правы, JPA - это спецификация. Hibernate, EclipseLink - это пара его реализаций.

Вы должны указать поставщика постоянства (Hibernate, EclipseLink), чтобы использовать реализацию JPA. Поставщики постоянства имеют классы реализации для спецификаций JPA.

15
bornleo

Вы не можете просто использовать JPA, потому что это API =), но существует множество реализаций JPA:

  1. EclipseLink
  2. ObjectDB
4
Sergey_Klochkov

Вы можете использовать JPA в одиночку, не используя Hibernate, и прежде чем вы должны знать об основных точках между Hibernate и JPA, как указано ниже.

Зимовать 

  1. Hibernate - это ORM Framework, который поддерживает полную ORM, а также использует функции JPA.
  2. Кэш второго уровня доступен, поэтому производительность очень хорошая 
  3. Его поддержка .Net с помощью инструмента NHibernate
  4. Его генерировать HQL (Hibernate Query Language)

JPA

  1. JPA является частью спецификации EJB, которая выпущена в J2EE 1.5 и будет использоваться как для Java, так и для J2EE 
  2. Кэш второго уровня недоступен, поэтому производительность не очень хорошая.
  3. Это не поддержка .Net
  4. Его генерировать JPQL (язык запросов Java Persistence)
  5. Вершина любого поставщика персистентности, такого как Hibernate, мы можем использовать JPA.
1
Raja Chinnappan

JPA можно использовать без поставщика JPA, такого как Hibernate, EclipseLink и т.д., Только если сервер приложений уже имеет реализацию JPA. Скорее всего, на уроках вы видели демонстрации, которые были выполнены на таком сервере приложений.

1
razvanspt

Если вы не хотите использовать Hibernate (или любого другого провайдера JPA), вы должны реализовать своего собственного провайдера, предоставив реализацию для интерфейса javax.persistence.spi.PersistenceProvider . Вопрос в том, почему вам нужно заново изобрести колесо? Если вам не нравится Hibernate, вы можете использовать одного из множества JPA-провайдеров на выбор

1
Laabidi Raissi

вы не можете использовать JPA самостоятельно. JPA - это спецификация, которая определяет API для объектно-реляционных отображений и для управления постоянными объектами, и вам нужен поставщик JPA для его реализации, например Hibernate, EclipseLink.

0
Sudabe-Neirizi