Avatar billede markymarc Nybegynder
17. marts 2005 - 14:25 Der er 11 kommentarer og
2 løsninger

Skal jeg bruge Hibernate eller Entitybeans?

Jeg skal lave et j2EE application på en jboss server. Der er vel mellem 20 og 30 tabler, fordelt på 3 -5 databaser, der skal holdes styr på. Jeg har nu brugt en del tid på at sætte mig ind i Entitybeans, og de er jo vildt smarte og fungere. Men nu syntes jeg at jeg læser mange steder at Hibernate er nemmer og har de samme funktion som entitybeans. Plus jboss roser dem jo til skyerne.

Nu er mit spørgsmål så, skulle jeg vælge at sætte mig ind i Hibernate og bruge det, eller skal jeg blive ved entitybeans?

På forhånd tak
Avatar billede arne_v Ekspert
17. marts 2005 - 14:32 #1
Det er religion !

Hibernate er idag et JBoss projekt så de er ikke uafhængige.

Entity beans i EJB 3.0 spec kommer til at ligne JDO/Hibernate mere.
Avatar billede markymarc Nybegynder
17. marts 2005 - 14:41 #2
Ok, det er bare religion, det havde jeg lidt på fornemmelsen.

Men har hibernate transcation styring, og de andre ting entity-beans har?
Eller sagt med andre ord, kan de det samme?

Og hvad ville du anbefalde?
Avatar billede arne_v Ekspert
17. marts 2005 - 14:50 #3
Hibernate understøtter transactions.

Hibernate har ikke entity beans remote object egenskaber.

Generelt er Hibernate noget simplere at bruge men kan en lille smule mindre.

Hibernate kan dog en ting som entity beans ikke kan: bruges udenfor J2EE altså
i en helt normalt J2SE applikation.
Avatar billede markymarc Nybegynder
17. marts 2005 - 15:00 #4
Ja det klart.

I praksis ville jeg vel ikke tilgå en entity bean, via remote, ville jeg ?

Men er der noget functionality jeg vil mangle hvis jeg vælger at bruge Hibernate?
Avatar billede arne_v Ekspert
17. marts 2005 - 15:08 #5
Nej. Det opfattes som bad practice idag. Men local interfaces blev først
opfundet med EJB 2.0.
Avatar billede arne_v Ekspert
17. marts 2005 - 15:13 #6
Mangler ved jeg ikke.

Det er anderledes.

I sidste ende bliver det hele jo til JDBC kald.

Hibernate er mere lige ud af landevejen kode + en mapping af objekter til
tabel.

Entity beans er mindre kode og mere XML (udover selve mappingen til tabel).

Hvis du bruger clustered entity beans så kommer du måske til at mangle noget.

Men jeg har ikke arbejdet så meget med Hibernate, så jeg ved ikke om
de har noget at byde på indenfor det område.
Avatar billede simonvalter Praktikant
17. marts 2005 - 15:22 #7
hibernate med spring er et endnu bedre forslag(hvis du spørger mig).. lidt religion er der over det men det men der er jo nogen problemer med entity beans.

"The purpose of EJB 3.0 is to improve the EJB architecture by reducing its complexity from the EJB developer's point of view."

hibernate med spring er nemt når du først har læst lidt på det.


nogen siger at hibernate er ejb 3. det er så ikke helt korrekt men det er tæt på og gavin king som er hovedmanden bag hibernate er også med i ekspert gruppen for ejb 3. du kan læse lidt nederst på siden om hibernate og ejb3
http://www.hibernate.org/200.html


hvis du spørger en mand som rod johnson (springs bagmand) så er der kun få tilfælde hvor det kan betale sig at bruge ejb og det er hvis du har brug for distribuerede objekter.. han mener det i langt de fleste tilfælde bliver misbrugt og er overkill... men han bruger også alle chancer han har for at reklamere for spring ;) 

"In my experience, cases in which distributed objects do make sense from a performance perspective are
rare. Typically they involve time-consuming, CPU-bound operations, in which the time taken to perform
the work significantly outweighs the cost of remote invocations. For example, risk calculations in some
financial applications can require so much CPU power that it makes sense to have a large cluster of
machines purely devoted to them. In such cases, remote EJBs are a good implementation strategy. But
such cases are exceptional. - rod johnson - Expert One on one J2EE Development Without EJB"
Avatar billede markymarc Nybegynder
17. marts 2005 - 15:48 #8
HHHHMMMMMMMMMMM

Ikke meget nemmere at vælge nu ;-) Men burde jeg mon ikke vælge en kombination af hibernate og sesstionbeans.

For kan det ikke gå hen og blive lidt overkill med entity beans, når det ikke drejer sig om flere tabler.

Og Hibernate understøtter vel også alle de andre projekter fra jboss(jboss cache f.eks).

Skal i have 15 point hver, er det ikke meget fair. Og mange tak for hjælpen.
Avatar billede simonvalter Praktikant
17. marts 2005 - 15:51 #9
hibernate har support for andre cache produkter
http://www.hibernate.org/21.html#A51
Avatar billede markymarc Nybegynder
17. marts 2005 - 15:54 #10
Men det vil være nemmeste og mest overskueligt og bruge deres nu jeg skal bruge jboss server.

Og kan jeg ikke dele pointene mellem jer ??
Avatar billede arne_v Ekspert
17. marts 2005 - 15:58 #11
det kan du godt
Avatar billede simonvalter Praktikant
17. marts 2005 - 15:58 #12
jo de kan godt deles men arne skal lige smide et svar så du kan markere ham.

jeg har ikke benytet andet en hashtable cachen..så jeg skal ikke kunne sige hvordan du gør med jboss cache
http://www.hibernate.org/hib_docs/reference/en/html/performance.html#performance-cache
Avatar billede markymarc Nybegynder
17. marts 2005 - 16:02 #13
Tak for hjælpen, og kan i havde en forsat god dag.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester