2015-04-03 19 views
14

Quando chiacchiero a stackoverflowers in chat e leggere altri tutorial su database con Java allora sono guido me di utilizzare JOOQ invece di HIBERNATE.JOOQ vs Hibernate

Sono perfettamente a conoscenza di ORM con Hibernate e preferisco utilizzare Hibernate e ora sono quasi consapevole di JOOQ leggendo tutorial e implementazione su piccoli progetti.

Ma io sono confuso cosa scegliere e cosa è perfetto per le mie applicazioni web dinamiche che possono essere più grandi, medie o più piccole, Hibernate o JOOQ?

BTW googlato molto ma confuso sempre di più ... !!! come: this, this e this.

Quale è il migliore per condizioni e situazioni diverse per lo sviluppatore?

+0

Caro @NeilStockton è totalmente soggettivo So ogni termini di StackOverflow. – Gopal00005

+0

Ho solo bisogno di consigli di esperti, per favore aiutami .... – Gopal00005

+0

Una domanda utile. +1. –

risposta

9

Mentre jOOQ e Hibernate competono per lo stesso pubblico di destinazione, non risolvono affatto lo stesso problema. You've already linked this article in your question. L'essenza di esso è semplice:

  • Hai intenzione di risolvere i problemi di persistenza del grafico degli oggetti? Utilizzare un ORM (ad esempio Hibernate)
  • Hai intenzione di incorporare SQL in Java? Utilizzare SQL (ad es. JOOQ)

Naturalmente, poiché entrambe le API coprono l'accesso ai database relazionali, si sovrappongono in una certa misura alla funzionalità. Per esempio. Hibernate supporta anche le query semplici, mentre jOOQ supporta anche la mappatura semplice.

Mentre dovremmo evitare di approfondire le discussioni soggettive sul fatto che la persistenza del grafico degli oggetti o SQL sia un approccio migliore all'interazione con il vostro database, penso che quanto sopra sia una risposta piuttosto obiettiva a quale API è più adatta, una volta che avete fatto la decisione soggettiva.

E: è possibile utilizzare entrambi, ad es. ORM/Hibernate per CRUD, SQL/jOOQ per la segnalazione.

(Disclaimer: io lavoro per l'azienda dietro jOOQ, quindi questa risposta è parziale)

+1

Perché devo usare JOOQ per la segnalazione, per favore puoi elaborarlo in modo più descrittivo? Sarà molto utile per me. – Gopal00005

+2

Il reporting sfrutta molte funzionalità SQL avanzate. Naturalmente, * potresti * usare ancora Hibernate/HQL/JPQL, ma i tuoi report saranno molto più lenti, difficili da mantenere rispetto a se scritti in SQL semplice ... –

+0

Sì giusto @Lukas Eder signore, avevo appena creato questa domanda essere più chiari su molte confusioni con JOOQ e Hibernate e ora sono molto contento della tua risposta ** spero che sarà utile anche ad altre persone **. – Gopal00005