Newsgroup: it.comp.java
Titolo: iBatis o Hibernate ?

Dovendo scegliere un framework per gestire la persistenza, tra questi
due, quale scegliereste? 
L'applicazione da realizzare sara' una web-application non
complicatissima: gestione gruppi e utenti + qualche altra tabella.
Non dovrebbe avere molti utenti.
-- 
Q:  What do you call a person who hacks while wearing no clothes?
A:  A gnudist.
Per scrivermi in privato sostituisci cippi...etc con poc punto it
Now riding on Kawasaki Z750 "Black Mamba"

 due, quale scegliereste? 
Prendere in considerazione Cayenne?
http://www.objectstyle.org/cayenne/index.html
Ciao
Mirko

 Prendere in considerazione Cayenne?
Quali vantaggi offre?

 é meno potente ma piu' rapida apprendere.
in 3/4 giorni sono riuscito ad avere qualche esempio e qualche prova con
Torque. dopo l'ho usato, e molto.
non ho a disposizione benchmark e confronti... ne' mi sento di consigliarlo
(mi sto studiando Hibernate), pero' tutto sommato non mi ha deluso ne'
creato problemi
byeT

 
Sono circa 2 anni che uso iBatis in tutti i progetti java e mi trovo 
molto bene. Molto facile da imparare e molto produttivo.
Se poi ti scrivi un plugin per eclipse per creare i files xml con le sql 
   e le interfacce/implementazioni Dao diventa veramente comodo. 
Altrimenti so che c'e' in giro (scritto in delphi???) qualche tool che 
puoi usare per questo...
Scaricati il progetto di esempio che c'e' sul sito e fai qualche prova
ciao,
david

 renda produttivo nel minor tempo possibile.
Jakarta OJB?
CIAO!
-- 
Elimina tutti gli MP3 per rispondermi
Inviato da 
www.mynewsgate.net

 CIAO!
Però non gli siamo certamente stati molto utili, in questo modo non credi? 


Se vuoi produttività in meno di una settimana o 2 partendo da zero, allora 
so solo che Hibernate é da evitare.
Non conosco gli altri 2 (cayenne e Hibatis) ma ho sentito dire che Hibatis é 


 wrote:

Beh, mi avete un po' confuso, pero' ho visto che ci sono altre
possibilita'.
Mi riattacco qua per vedere se riesco a riassumere.
Abbiamo:
iBatis
Hibernate
Torque
Cayenne
Apache OJB.
Entity Beans? 
A naso sarei orientato su iBatis,, visto che sembra il piu' facile da
usare: ho dei tempi un po' stretti.
Hibernate mi tenta soprattutto perche' sembra che si sia imponendo come
standard, gli altri non so...entro l'inizio della settimana prossima
devo sciogliere la riserva...
Sicuramente mascherero' il PL con delle interfacce DAO, in modo da
astrarre l'implementazione, cosi' dovrei essere in grado di
cambiare/inserire altri strumenti se dovessi averne bisogno.


 Però non gli siamo certamente stati molto utili, in questo modo non credi? 
Hai ragione, effettivamente ho risposto un po' di fretta.
OJB è quello che conosco meglio, da poco ho inizato ad usare Hibernate e ieri 
mi sono letto qualcosa su Cayenne: il primo che ho menzionato mi sembra 
effettivamente il più facile da configurare di quelli che conosco, che ne 
pensate?
Esco da una "brutta avventura" con Statement e PreparedStatement, sono ancora 
un po' depresso! :-)


 renda produttivo nel minor tempo possibile.
Cosa vuol dire minor tempo possibile?
Piu' che altro dovresti guardare quanto tempo riesce a salvarti una
volta imparato...
Secondo me per poter padroneggiare un framework di questo tipo non ci
vuole poco tempo, soprattutto se sei abituato a ragionare a query
anche perche' salvo casi particolari non ne scriveresti neache una.
Ciao
Mirko

 anche perche' salvo casi particolari non ne scriveresti neache una.
Una curiosita': ma un framework come cayenne o piuttosto hibernate, come
si comportano con database gia' consolidati e magari un po' incasinati?


 si comportano con database gia' consolidati e magari un po' incasinati?
Hibernate non l'ho mai usato e non posso dirti come si comporta.
Solo Cayenne, EOF di NeXT/Apple e la GDL2 che ho scritto inizialmente
io. Cayenne assomiglia ad EOF ma non e' un clone.
Ogni eo (enterprise object) puo' (ma non e' detto) rappresentare una
tabella o parte di essa di un db ed e' associato ad un 'GlobalID' che
e' un oggetto usato all'interno dell'objectstore per identificarlo.
Questo contiene le chiavi primarie (pk) dell'eo in coppie di
chiavi/valori.
Ogni eo invece contiene i valori delle corrispondenti colonne del db
che hai mappato... e le carica tutte alla creazione dell'eo.
Ogni eo puo' avere una o piu' pk e puo' essere relazionato con altri
oggetti attraverso una o piu' pk/fk. (pk->pk, pk->fk, fk/pk)
In teoria (e pure in pratica salvo casi particolari) le pk non
dovrebbero far parte dell'eo in quanto sono solo dei dati per
identificare univocamente un oggetto (o riga nel db) e possono essere
gestite in modo trasparente dal framework. (solo sequenza)
Sostanzialmente dipende da come e' stato fatto il db, ma inizialmente
e' meglio partire con un db nuovo.
Comunque puoi provare a scaricare cayenne far partire il modellatore e
usare il reverse engineering su un db gia' pronto, settare pk, creare
relazioni e generare i corrispondenti EO che userai nel tuo progetto.
Ciao
Mirko

 
Mah, ho guardato distrattamente un po' di tabelle comparative tra questi
framework, sinceramente non sono in grado di apprezzare le differenze
tra uno e l'altro, penso che puntero' su hibernate, che mi sembra piu'
diffuso, e se proprio dovesse essere un casino provero' con ibatis che
sempra un po' piu' elastico. 
