В чем разница между спецификациями JPA и JDO?

StackOverflow https://stackoverflow.com/questions/1878876

  •  18-09-2019
  •  | 
  •  

Вопрос

Я использую Hibernate ORM, который является реализацией JPA спецификация для управления реляционными данными.Я также слышал о JDO спецификация, которая должна делать то же самое (управлять реляционными данными).

Каковы принципиальные различия между ними? Любые примеры кода наиболее ценны.Как JDO интегрироваться с другими стеками технологий Java, например. EJB3?

Это было полезно?

Решение

Попробуйте этиЧасто задаваемые вопросы по JDO-JPA, JDO или JPA, ДЖДО .в.JPA, ДЖДО .в.JPA – API, ДЖДО .в.JPA – ОРМ

JDO существовал задолго до JPA и имеет более широкую сферу применения.JPA предназначен исключительно для РСУБД и (даже в JPA2) не обеспечивает полную поддержку, которую предоставляет JDO.Ссылки и другие сообщения на этом форуме должны содержать достаточно информации, чтобы объяснить все стороны аргументов.

--Энди (DataNucleus)

Другие советы

JPA был определен для унификации и замены существующих ранее спецификаций постоянства Java EJB CMP и JDO.JPA был выпущен как часть EJB 3.0 и является частью спецификации Java EE, поддерживаемой Oracle WebLogic, IBM Websphere, Redhat JBoss и любым другим поставщиком Java EE.

Существует множество ведущих продуктов, поддерживающих JPA (TopLink/EclipseLink, Hibernate, OpenJPA, DataNucleus), но лишь немногие из них поддерживают JDO или CMP.Итак, похоже, что JPA проделала хорошую работу по замене обоих.

Что касается того, что JPA является только СУБД, это совершенно неверно (даже DataNucleus, единственный оставшийся продукт JDO, о котором я знаю, поддерживает JPA на любой нереляционной платформе, на которой он поддерживает JDO).

Существует также множество других продуктов, поддерживающих JPA на нереляционных платформах, таких как поддержка NoSQL и EIS от EclipseLink (MongoDB, Oracle NoSQL, XML, устаревшие базы данных), Kundera, DataNucleus и даже объектные базы данных, такие как ObjectDB, которые поддерживают JPA в качестве API Java. .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top