Pergunta

Eu tenho usado o Hibernate ORM, que é uma implementação do JPA Especificação para gerenciar dados relacionais. Eu também ouvi falar do JDO Especificação que deveria fazer o mesmo (gerenciar dados relacionais).

Quais são as diferenças fundamentais entre os dois? Quaisquer amostras de código mais apreciadas. Como acontece JDO integrar -se a outras pilhas de tecnologia Java, por exemplo, Ejb3?

Foi útil?

Solução

Tente esseFAQ JDO-JPA, JDO ou JPA, Jdo .v. JPA, Jdo .v. JPA - API, Jdo .v. Jpa - orm

O JDO existia muito antes da JPA e tem um escopo mais amplo. O JPA é apenas para RDBMS e (mesmo em JPA2) não fornece o suporte completo que o JDO fornece. Os links e outras postagens neste fórum devem fornecer ampla leitura para explicar todos os lados dos argumentos.

--Andy (DataNucleus)

Outras dicas

O JPA foi definido para unificar e substituir as especificações de persistência Java existentes anteriores do EJB CMP e JDO. A JPA foi lançada como parte do EJB 3.0 e faz parte da Java EE Spec, suportada pela Oracle WebLogic, IBM WebSphere, Redhat Jboss e qualquer outro provedor Java EE.

Existem muitos produtos líderes que suportam JPA (TopLink/Eclipselink, Hibernate, OpenJPA, DataNucleus), mas poucos ou nenhum suportando JDO ou CMP. Então, parece que a JPA fez um bom trabalho ao substituir os dois.

Quanto ao JPA apenas sendo RDBMS, isso é totalmente falso (mesmo DataNucleus, o único produto JDO restante que eu conheço, suporta a JPA em qualquer plataforma não relacionada que ele suporta o JDO).

Existem também muitos outros produtos que suportam JPA em plataformas não relacionais, como o suporte NOSQL e EIS do Eclipselink (MongoDB, Oracle NoSQL, XML, bancos de dados herdados), Kundera, DataNucleus, mesmo bancos de dados de objetos como objeto que suportam JPA como seu Java API .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top