2012-01-09 14 views
9

Ho bisogno di un livello di persistenza super leggero per un'applicazione java che sto scrivendo. Ho bisogno che sia un'app stand alone e finora ho giocato con Ammentos & Persistence4J. Mi piacciono entrambi (specialmente Ammentos) ma non riesco a trovarne molto sul web e sto cercando alcune considerazioni su questi due o altri livelli di persistenza che pensi sia facile da implementare con un mysql db.Livello java persistence super leggero necessario

Ho usato solo l'ibernazione in passato, quindi sto cercando un'alternativa che mi permetta solo di fare semplici salvataggi e recuperi. Il supporto per qualsiasi query complessa non è necessario.

risposta

6

Non dimenticare OrmLite.

Assicurati di aver bisogno di un ORM a tutti, però.

Modifica per rispondere alle osservazioni

Per semplici progetti Java (una rarità in questi giorni) spesso non si preoccupano con ORM, ma usano ancora Commons BeanUtils' RowSetDynaClass volte. Questo avvolge i risultati della query e consente di copiare gli oggetti del dominio utilizzando i normali metodi BeanUtils copyProperties.

+0

+1 - Se non si dispone di oggetti per mappare a, non hai bisogno di ORM. – duffymo

+0

Dave, sto cercando di utilizzare un ORM perché ho già un numero di oggetti business e vorrei astrarre la persistenza/ricerche senza dover gestire il codice SQL dietro. Inoltre, non sto facendo inserimenti di massa, quindi sembra un approccio praticabile. Non ho mai sentito parlare di OrmLite, ma ci penserò. L'hai usato e se lo hai hai qualche idea su di esso? – Nefsu

+0

@Nefsu L'ho usato solo su Android; andava bene. Risposta aggiornata con un'altra opzione che copre la soluzione non ORM con i modelli di dominio. –

3

Spring SimpleJdbcTemplate è leggero come si arriva. È possibile utilizzare SQL senza tutto il boilerplate. Non hai nemmeno bisogno del pieno macchinario di primavera, basta usare quello di cui hai bisogno.

Se SimpleJdbcTemplate è troppo leggero per te, prova iBatis. È un passaggio intermedio tra JDBC e Hibernate.

+0

+1; usato nei miei ultimi due progetti Spring: è facile da morire. (E ottimo per i legacy DB che hanno già scritto tonnellate di SQL, e farebbe in modo che Hibernate pianga come un bambino caduto.) –

+0

Sì, l'ho usato anche duffymo. Ma se ricordo correttamente JdbcTemplate in realtà non supporta ORM. – Nefsu

+0

No, non è così. SimpleJdbcTemplate è per persone che vogliono ancora lavorare con SQL. Puoi caricare i risultati in qualsiasi cosa tu voglia con RowMapper. L'ORM è ipervenduto. Non ne hai bisogno, specialmente per un paio di oggetti. – duffymo

0

Ho progettato sormula specificamente per essere un ORM leggero. È pronto per CRUD e POJO-friendly. Non scrivi alcun DAO. Zero-configuration, zero-annotation è possibile.

11

Tutti questi strumenti sono wrapper molto leggeri per JDBC, senza l'aggiunta di caratteristiche ORM/ActiveRecord:

Questi strumenti aggiungono un paio di caratteristiche aggiuntive relative ai modelli/ActiveRecord ORM e sono quindi un po 'meno leggero:

Questi ultimi sono inoltre dotate di API fluente per la costruzione SQL typesafe: