ho fatto uso delle seguenti implementazioni JPA:Implementazioni JPA - Qual è il migliore da usare?
- Hibernate,
- TopLink,
- OpenJPA
Ognuno di loro ha i propri punti di forza e di debolezza. Ho trovato Hibernate il più avanzato dei tre, tranne che ha mescolato alcuni dei suoi miglioramenti con JPA, rendendo difficile il passaggio ad altri provider. Ancora più importante, il suo parser di query era molto più indulgente nell'interpretazione di JPA. Rendono leggermente difficile ottenere le librerie corrette per supportare l'ibernazione perché ho trovato una missione che cerca di ottenere le giuste versioni di tutte le dipendenze.
Toplink era ok ma uno è lasciato con la sensazione che sia leggermente paralizzato come sembra che Oracle voglia usare/acquistare? la loro libreria più avanzata. Cercando di scaricarlo era anche una missione perché è necessario installarlo tramite l'esecuzione di un file jar. Ho scoperto che implementava solo la specifica JPA di base. La ragione per cui l'ho usata è stata l'ibernazione che utilizza molte librerie che sono comunemente usate in altri progetti open source e che spesso si ottengono problemi di classloarder, specialmente quando si usa JBoss
OpenJPA - Questo ha di gran lunga la migliore documentazione ed è facile da Scarica e usa ma sembra molto buggato. Forse è solo il mio codice ma il codice ho trovato un uso più avanzato come OneToMany relazioni con CascadeType.all set non sembra funzionare. Certo, potrebbe essere che il mio codice fosse sbagliato e non ho avuto il tempo di testare un caso pulito, ma molti incidenti come questo mi lasciano paura di usarlo. Spero davvero che vada meglio. I suoi messaggi di errore sono spesso inutili nell'aiutare a risolvere il problema.
Quali altre librerie usano le persone e quali preferiscono e perché?
EclipseLink è (imho) migliore di tutti quelli. – cletus
che dire di objectdb? www.objectdb.com – user3111525
o EBean! http://www.avaje.org/ –