나는 관계형 데이터를 관리하기 위해 JPA 스펙을 구현 한 Hibernate ORM을 사용 해왔다. 또한 동일한 작업 (관계형 데이터 관리)을 수행해야하는 JDO 사양에 대해 들어 봤습니다.JPA와 JDO 사양의 차이점은 무엇입니까?
둘 사이의 근본적인 차이점은 무엇입니까? 모든 코드 샘플을 가장 높이 평가합니다. JDO은 다른 Java 기술 스택과 어떻게 통합됩니까? EJB3?
나는 관계형 데이터를 관리하기 위해 JPA 스펙을 구현 한 Hibernate ORM을 사용 해왔다. 또한 동일한 작업 (관계형 데이터 관리)을 수행해야하는 JDO 사양에 대해 들어 봤습니다.JPA와 JDO 사양의 차이점은 무엇입니까?
둘 사이의 근본적인 차이점은 무엇입니까? 모든 코드 샘플을 가장 높이 평가합니다. JDO은 다른 Java 기술 스택과 어떻게 통합됩니까? EJB3?
이 JDO-JPA FAQ, JDO or JPA, JDO .v. JPA, JDO .v. JPA - API, JDO .v. JPA - ORM
JDO는 JPA 오래 전에 존재하고, 더 넓은 범위가보십시오. JPA는 RDBMS 전용이며 JPA2에서도 JDO가 제공하는 모든 지원을 제공하지 않습니다. 이 포럼의 링크 및 기타 게시물은 인수의 모든 측면을 설명하기위한 충분한 읽을 거리를 제공해야합니다.
--Andy (DataNucleus)는
JDO를 다른 스택과 통합하는 방법에 대한 설명 EJB3 – n002213f
JDO 구현 (예 : DataNucleus)은 JCA 어댑터와 함께 제공되기 때문에 그럴만 한 – DataNucleus
위대한 답변이지만 FYI에서는 처음 두 링크가 작동하지 않습니다. –
JPA는 통합 및 EJB CMP 및 JDO 이전의 기존의 Java 지속성 사양을 대체하기 위해 정의되었다. JPA는 EJB 3.0의 일부로 릴리스되었으며 Oracle WebLogic, IBM Websphere, Redhat JBoss 및 기타 Java EE 공급자가 지원하는 Java EE 사양의 일부입니다.
JPA (TopLink/EclipseLink, Hibernate, OpenJPA, DataNucleus)를 지원하는 많은 주요 제품이 있지만 JDO 또는 CMP를 지원하는 제품은 거의 없습니다. 그래서, JPA는이 두 가지를 모두 대체 할 수있었습니다.
JPA가 RDBMS 인 경우, 이는 완전히 거짓입니다 (알고있는 유일한 JDO 제품인 DataNucleus조차도 JDO를 지원하는 비 관계형 플랫폼에서 JPA를 지원함).
EclipseLink의 NoSQL 및 EIS 지원 (MongoDB, Oracle NoSQL, XML, 레거시 데이터베이스), Kundera, DataNucleus, JPA를 지원하는 ObjectDB와 같은 객체 데이터베이스까지도 비 관계형 플랫폼에서 JPA를 지원하는 많은 제품이 있습니다 그들의 자바 API로.
GAE는 핵심적인 JDO 지원 플랫폼 인 것으로 보입니다. DataNucleus와 얼마나 다른지 알지 못하지만 여기서 질문을 보았습니다 ... –
JPA 전문가 그룹에 비 RDBMS 데이터 스토어 공급 업체의 대표는 몇이나됩니까? 이는 비 RDBMS 데이터 저장소에 대해 얼마나 "적합하게 설계되고 있는지를 나타내는 것입니다. – user383680
이러한 다른 데이터 저장소는 JDBC를 사용하지 않지만 JPA는 표준 JPA 방식으로 데이터 저장소에 대한 액세스를 제공 할 실제 방법이 없기 때문에 JDBC를 중심으로합니다. DataNucleus는 jdbc.url을 통해이를 해킹하는 것으로 보입니다. 따라서 JPA가 귀하가 주장하는대로 다른 데이터 저장소를 처리하는 방법을 알 수 없습니다. DataNucleus가 JPA를 제공해야하는지 여부도 논쟁의 여지가 있습니다. –
관련 항목 : http://stackoverflow.com/questions/530215/hibernate-vs-jpa-vs-jdo-pros-and-cons-of-each –
@matt - 질문이 있습니다. 답변이 없습니다. 차이점을 알려줍니다. 당신은 찬반 양론에 대해 물어 보았습니다. 두 스펙 사이의 차이점을 이해 한 후에 평가할 것입니다. – n002213f