[ bnband @ 05.10.2007. 11:05 ] @
Radim sa Javom i MySQL serverom vec oko 2 godine i uradio sam niz knjigovodstvenih desktop (swing) aplikacija koje rade u praksi. Poceo sam i Web aplikacije i koristim ZK Ajax framework i rad sa bazom radim isto kao i desktop aplikacije a to je JDBC s tim sto imam jednu klasu kao konektor koja radi preko Apache dbcp connection pula. Znam da mnogi koriste Hibernate i znam kako to radi ali se nisam upustao u to. Da li neko moze da mi kaze sta se dobija ako se koristi Hibernate da li se drasticno poboljsavaju performanse rada aplikacije u smislu brzine rada sa bazom i sigurnosti ili se samo skracuje vreme pravljenja aplikacija (manje koda) sto meni nije zasada neka prednost. Takodje Hibernate ima svoj SQL jezik koji bi morao uciti naspram MySQL SQL komandi sa kojima nemam problema u resavanju komplikovanih obrada. Hvala unapred.
[ urukhai @ 09.10.2007. 11:51 ] @
Što se tiče samih performansi, nisam siguran koliko su bolje u odnosu na to kada direktno radiš preko JDBC-a, a izrada perzistentnog sloja aplikacije je dosta jednostavnija i brža (naravno kada se navikneš na rad sa Hibernatom). U početku sam koristio samo njega, ali sam ga kasnije povezao sa springom i mogu da ti kažem da mi se količina koda dosta smanjila. Što se tiče samog SQL, možeš da koristiš MySql dijalekt, a možeš da koristiš i HQL kao i Hibernatov Criteria API. Uzmi pročitaj prvih par poglavlja iz Hibernate reference manuel-a i biće ti sve odmah jasno šta i kako.
[ anon315 @ 09.10.2007. 12:31 ] @
Performanse ti sigurno nece biti bolje (ukoliko si pravilno koristio jdbc), sto je tipicno kada se ubaci jos jedan sloj u sistem, sto upravo Hibernate i jeste (naleze na jdbc).

Ali ce ti olaksati pisanje koda i smanjiti kolicinu istog. Lakse odrzavanje...

Sto se tice HQL-a i Criteria, time dobijas sto ti je kod portabilan izmedju baza ;) Tzv dijalekti..

U svakom slucaju glasam za Hibernate!
[ Au197/79 @ 09.10.2007. 16:34 ] @
Znam da autor teme nije pomenuo JPA, ali možda nije svestan te nove specifikacije. JPA omogućava generički način za perzistenciju, JPA podržava i Hibernate. JPA je standard, nije vezan samo za jedan ORM a donekle je jednostavniji (ali opet i manje izražajan, ako je nekom potrebna ekstremna izražajnost) od drugih rešenja poput čistog Hibernate-a. Mislim da ko sada uvodi ORM u aplikaciju mora ozbiljno da razmisli i o JPA.
[ bgd2500 @ 17.10.2007. 10:48 ] @
Nesto na tu temu

http://www.codesuccess.com/blo.../10/hibernate-conclusions.html
[ zmau @ 22.10.2007. 17:18 ] @
Citat:
Znam da autor teme nije pomenuo JPA, ali možda nije svestan te nove specifikacije.


Jes JPA novij od hibernatea, ali koliko ja kapiram, hibernate (u novijim verzijama makar) podržava JPA specifikaciju, tako da ako radiš sa hibernateom poštuješ i JPA.

Inače, ne da nećeš dobiti na brzini, nego ćeš sasvim očigledno izgubiti. Hibernate na osnovu specifikacije tvojih klasa generiše SQL upite i takvi upiti moraju biti glomazniji od tvojih ručno pravljenih upita. Naravno, kad bolje proučiš JPA/hibernate moći ćeš da sugerišeš hibernateu da optimizuje generisane upite. Ali po mom mišljenju, ti mašinski upiti uvek moraju biti sporiji od ručnih.

HQLa (HQL je derivat JPAQLa, naravno :) ) ne treba da se plašiš, jer mnogo liči na SQL, a i uvek možeš kroz hibernate da puštaš i obične (native) SQL upite.
Ili da obradu radiš kroz hibernate, a izveštaje direkt kroz JDBC. Ja radim transakcije kroz hibernate, a šifarnike i izveštaje bez njega.