2010-06-15 10 views
15

Ho trovato un tempo fa post che risponde a una domanda simile ma penso che sia un po 'obsoleto. Mi rendo conto che le implementazioni di JPA tendono ad essere più sul lato pesante/denso, quindi se conosci qualche ORM leggero (non-JPA) apprezzerò sicuramente il tuo contributo. Ho visto la risposta su ActiveAndroid nell'altro post e sono curioso di sapere se qualcuno l'ha provato.Esistono buone ORM (preferibilmente implementazioni JPA) che supportano SQLite (su Android)?

Aggiornamento:

Alla fine, ho deciso di andare con una soluzione più leggera e ha scelto DB4O. Finora sono stato molto contento della mia scelta. È extremely easy to use e richiede una quantità minima di configurazione. Il sito Web contiene una vasta gamma di informazioni, tra cui lo sample projects e un approfondito tutorial che copre praticamente tutto ciò che uno sviluppatore potrebbe aver bisogno di sapere su DB4O. Oh, e ho detto che è gratuito (a differenza di alcune altre alternative ... tosse ActiveDroid tosse)?

+0

Sono curioso di sapere se hai guardato ORMLite e perché non l'hai scelto @Andrey? – Gray

+0

@Gray - Ho dato un'occhiata a questo. In effetti, uno dei miei amici l'ha usato in una delle sue app Android e lo ha raccomandato. La ragione principale per cui sono andato con DB4O è perché richiede praticamente zero configurazione. La seconda ragione è la riluttanza ad apprendere un nuovo framework che assomiglia sempre molto all'APP. C'è anche una terza ragione: il desiderio di esplorare un'alternativa a un database relazionale e vedere come funziona in pratica. – Andrey

+1

@Gray - per espandere il mio secondo motivo: da una parte, ORMLight segue pattern simili a JPA, ma dall'altra, mentre i concetti sono gli stessi, la sintassi è diversa e poiché mi occupo quotidianamente di JPA a lavoro non volevo confondermi con una nuova serie di annotazioni che fa la stessa cosa. – Andrey

risposta

13

Per quanto riguarda le implementazioni JPA, è presente almeno uno third party Dialect for SQLite per Hibernate. Non sono sicuro al 100% ma EclipseLink sembra essere un'opzione (sebbene SQLite is not officially supported).

Ma per lo sviluppo di Android, vorrei sicuramente controllare ActiveAndroid.

Solo nel caso, qui sono alcune altre alternative: jPersist, Ebean, Dreamsource ORM (dare un'occhiata alla the announcement su TSS).

+1

I secondi il commento ActiveAndroid sono state fatte –

+1

Molti dei link forniti sono rotto ora – Gallal

+0

DataNucleus APP è stato utilizzato con SQLDroid (SQLite su Android) senza problemi, e di fatto molti cambiamenti per SQLDroid di supportare più delle specifiche JDBC che è richiesto dalle implementazioni dell'APP specificamente utilizzando DataNucleus JPA –

4

ORMLite non è completamente compatibile con JPA ma supporta Sqlite su Android. Effettua chiamate alle API del database del SO Android nativo per supportare la sua funzionalità ORM. Abbiamo un gran numero di utenti Android che lo stanno utilizzando con molto successo.

http://ormlite.com/sqlite_java_android_orm.shtml

+1

ormLiite non è JPA. Almeno dovrebbe implementare l'interfaccia JPA. – Sunnyday

+0

Hrm. Non sono sicuro che sapevo su di esso. Lo esaminerò. Grazie @Sunnyday. – Gray

0

BatooJPA è l'unica opzione piena funzionalità JPA 2.0 spec compatibile. Per le piattaforme mobili, il consumo della CPU deve essere preso in considerazione a causa della durata limitata della batteria, della potenza della CPU, ecc. BatooJPA è perfetto quando sono richieste specifiche complete e le risorse della CPU sono importanti. Per il caso SQLite per quanto è possibile fornire un driver JDBC, Batoo JPA farà il resto.

Problemi correlati