2010-06-15 3 views
15

Ich fand eine post von einer Weile, die eine ähnliche Frage adressiert, aber ich denke, dass es ein bisschen veraltet ist. Ich weiß, dass Implementierungen von JPA eher auf der schweren/dichteren Seite liegen. Wenn Sie also leichte (nicht JPA-) ORMs kennen, werde ich Ihre Eingabe sehr schätzen. Ich habe die Antwort über ActiveAndroid in dem anderen Beitrag gesehen und bin gespannt, ob jemand es ausprobiert hat.Gibt es gute ORMs (vorzugsweise JPA-Implementierungen), die SQLite (auf Android) unterstützen?

aktualisieren:

Am Ende entschied ich mich mit einer leichten Lösung zu gehen und wählte DB4O. Bis jetzt war ich sehr glücklich mit meiner Wahl. Es ist extremely easy to use und erfordert eine minimale Konfiguration. Die Website enthält eine Fülle von Informationen einschließlich sample projects und eine eingehende tutorial, die fast alles deckt, was ein Entwickler über DB4O wissen müsste. Oh, und habe ich erwähnt, dass es frei ist (im Gegensatz zu anderen Alternativen ... Husten ActiveDroid Husten)?

+0

Ich bin neugierig, wenn Sie ORMLite angeschaut haben und warum Sie es @Andrey nicht gewählt haben? – Gray

+0

@Gray - Ich habe es mir angesehen. In der Tat hat einer meiner Freunde es in einer seiner Android-Apps verwendet und es empfohlen. Der Hauptgrund, warum ich mit DB4O gegangen bin, ist, dass es praktisch keine Konfiguration erfordert. Der zweite Grund ist die Abneigung, einen neuen Rahmen zu lernen, der der JPA sehr ähnlich ist. Es gibt noch einen dritten Grund: den Wunsch, eine Alternative zu einer relationalen Datenbank zu erkunden und zu sehen, wie sie in der Praxis Bestand hat. – Andrey

+1

@Gray - auf meinen zweiten Grund zu erweitern: auf der einen Seite folgt ORMLight Muster, die JPA ähnlich sind, aber auf der anderen Seite, während die Konzepte identisch sind, ist die Syntax anders und da ich JPA täglich bei Arbeit Ich wollte mich nicht mit einer neuen Reihe von Anmerkungen verwechseln, die das Gleiche tun. – Andrey

Antwort

13

Für JPA-Implementierungen gibt es mindestens einen third party Dialect for SQLite für Hibernate. Ich bin mir nicht 100% sicher, aber EclipseLink scheint auch eine Option zu sein (obwohl SQLite is not officially supported).

Aber für Android-Entwicklung würde ich auf jeden Fall ActiveAndroid überprüfen.

Nur für den Fall, hier sind einige andere Alternativen: jPersist, Ebean, Dreamsource ORM (bei the announcement auf TSS einen Blick).

+1

Ich bin der Kommentar auf ActiveAndroid –

+1

Viele der Links sind jetzt gebrochen – Gallal

+0

DataNucleus JPA wurde mit SQLDroid (SQLite auf Android) ohne Probleme verwendet, und in der Tat wurden viele Änderungen an SQLDroid gemacht, um mehr von der JDBC-Spezifikation zu unterstützen, die ist erforderlich durch JPA-Implementierungen speziell mit DataNucleus JPA –

4

ORMLite ist nicht vollständig JPA-konform, aber es unterstützt Sqlite auf Android. Es ruft die nativen Android OS-Datenbank-APIs auf, um seine ORM-Funktionalität zu unterstützen. Wir haben eine große Anzahl von Android-Nutzern, die es sehr erfolgreich verwenden.

http://ormlite.com/sqlite_java_android_orm.shtml

+1

OrmLiite ist nicht JPA. Zumindest sollte es JPA-Schnittstelle implementieren. – Sunnyday

+0

Hrm. Ich bin mir nicht sicher, ob ich davon wusste. Ich werde es mir ansehen. Danke @Sunnyday. – Gray

0

BatooJPA ist die einzige voll funktionsfähige JPA 2.0-Spezifikation konform Option. Bei mobilen Plattformen sollte die CPU-Auslastung in Betracht gezogen werden, da die Akkulaufzeit die CPU-Leistung begrenzt. BatooJPA ist perfekt, wenn die volle Spezifikation benötigt wird und CPU-Ressourcen von Bedeutung sind. Für den SQLite-Fall, so weit Sie einen JDBC-Treiber bereitstellen können, erledigt Batoo JPA den Rest.

Verwandte Themen