2010-02-12 15 views
14

veritabanı olarak google büyük tablo kullanmak isteyen Google App Engine .I benim proje geliştirmek istiyoruz. Veritabanında iki seçenek var JPA ve JDO. Lütfen bana bunu önerir misiniz? İkisi de benim için yeni ve onları öğrenmem gerekiyor. Bu yüzden cevaplarınızdan sonra odaklanacağım.JPA ve JDO arasındaki fark nedir?

cevap

9

tartışılacak görünüyor. http://www.datanucleus.org/products/accessplatform_2_1/jdo_jpa_faq.html

DataNucleus AccessPlatform Java kalıcılık hem JDO ve JPA özelliklerini destekler. Her iki teknolojide de "kazanılmış bir ilgi" bulunmadığından, kullanıcıların en çok sevdikleri şeyleri seçmeleri gerektiğine inanmaktadır. JDB ve JPA hakkında web'de RDBMS satıcıları tarafından büyük ölçüde işlenen çok sayıda FUD var. Bu SSS Bu noktaların

+0

'u kullanmalıdır. Bağlantı yine ölü. –

0

JPA kalıcılık için lider Java standarttır. Yani RDBMS kullanıyorsanız ve ORM gerektirirseniz, JPA kullanacağımı söyleyeceğim.
hazırda genel olarak JPA uygulaması kullanılır. Bazı ek özelliklere ihtiyacınız varsa, hazırda belirli ek açıklamaları kullanabilirsiniz.

Bu soru zaten JPA vs JDO üzerindeki SSS bölümüne bakın, Veri Nucleus'u kullandığınız için buraya JDO vs JPA for Java on Google App Engine

+0

Ama Data Nucleus kullanarak google datastore'u (Büyük tablo) kullanmak istiyorum. JPA veya JDO'yu takip ettiğimden hangisi var? – user246160

+2

Hazırda bekletme, "genellikle JPA uygulaması olarak kullanılabilir" ancak yalnızca RDBMS için çalışır ve sonuç olarak çalışmayacaktır. GAE'nin/J. GAE/J için belgelere göre JDO, envanter modelleri ile çok yakından eşleşir, ancak kalıcılık modelleri basitse ve sorgulama gereksinimleri de basitse, JPA eşit olarak kullanılabilir. JDO veya JPA ile kullanıcı DataNucleus – DataNucleus

2

birçok gideren temel fark JDO, (verilerle birlikte mantık) zengin bir etki alanı modeli destekleyen aslında tüm kalıcı sınıflar güncel bir PersistenceManager başvurusunu, konu sorguları olabilir ve yani, Sanırım, varsayılan olarak alanların kalıcı olması mümkün değil.

JPA böyle yazılım tasarımı desteklemez. Aslında her bir varlığın PersistenceManager'a bir referansı yoktur, bunun çok şık ve sağlam bir çözüm olmayan ThreadLocal değişkenlerine başvurmanız gerekir. GAE'nin BigTable yana

2

bir RDBMS değil, JDO daha iyi bir seçimdir. Aphache JDO'da bazı ayrıntılı karşılaştırma makaleleri var, bana yardımcı oluyor. JDO Java nesne kalıcılık için daha genel özellikleri ise

1

JPA ORM ile ilişkisel veri Java nesneleri devam etmektedir. Dolayısıyla, JDO'yu kullanmak, nesneleriniz için depolama uygulama seçeneklerinde daha fazla özgürlük sağlayacaktır.

İlgili konular