-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 6 posts ] 
Author Message
 Post subject: Welche Vorteile bringt mir Hibernate (oder allgemein ORM)?
PostPosted: Wed Jan 25, 2006 11:28 pm 
Newbie

Joined: Tue Jan 24, 2006 10:02 pm
Posts: 12
Hi Guys,

ich hab mich jetzt mal die letzten ein einhalb Wochen mit NHibernate beschäftigt, weil ich beim Design meiner Businesslogik auf die Lücke zwischen der Relationalen- und der OO Welt gestoßen bin.
Ich find es sehr elegant nach dem definieren von Mapping-Files mit Objekten arbeiten zu können, aber wo ist der Unterschied, ob ich meine Anfrage (Query) an die Datenbank mit SQL stelle, oder an einen Objektgraph mittels HQL?
Zu Anfang dachte ich, "Toll, SQL ist aus meinem Code verschwunden", aber nun habe ich halt HQL in meinem Code.
Aber irgendwo muss doch der gewaltige Vorteil an der ganzen Sache sein, ich raffs nur einfach nicht.
Wahrscheinlich hat das tagelange lesen der Doku und des Forums mein Gehirn überanstrengt, so dass ich keine Zusammenhänge mehr erkennen kann.
Ich hoffe ein paar gute Antworten können das wieder beheben.

So long,

Dan


Top
 Profile  
 
 Post subject:
PostPosted: Thu Jan 26, 2006 3:36 am 
Regular
Regular

Joined: Tue Jan 03, 2006 9:20 am
Posts: 74
Grosster Vorteil ist wol das HQL immer gleich ist, SQL nicht.
Fast jeder DBMS hat sein eigenes SQL Dialekt, HQL ist immer dasselbe.

So es ist viel einfacher ein anderes DBMS zu verwenden.
Vielleicht hat eine Kunde Oracle, eine andere DB/2 oder MS SQL Server.


Top
 Profile  
 
 Post subject:
PostPosted: Thu Jan 26, 2006 3:47 pm 
Newbie

Joined: Tue Jan 24, 2006 10:02 pm
Posts: 12
Ja, das ist ein Punkt. Aber nur ein sehr kleiner, denn Hibernate ist mehr als nur ein Dialekt Wrapper.
Hier mal ein Link zur Anregung ...
http://blog.benday.com/archive/2005/03/16/197.aspx


Top
 Profile  
 
 Post subject:
PostPosted: Thu Jan 26, 2006 10:30 pm 
Newbie

Joined: Tue Jan 24, 2006 10:02 pm
Posts: 12
Hier ein paar Fragen aus einem aelterem Thread, die nicht beantwortet wurden:
Quote:
My initial impression of NHibernate was "wow, your entity classes can be plain-old C# objects, not having to track dirty/deleted status, you just have to attach transient ones you've just created, and the session does the rest. Referenced objects and collections can be lazy loaded, and you don't have to worry about how or when it happens." Now it looks like you have to add your own gateway to provide new sessions, manage your own cache, manage lazy loading, keep track of dirty/deleted objects, and worry about how often stuff in your cache should get refreshed to avoid getting stale. If we have to manage all these things ourselves, what does a session give us beyond providing a transaction? :(


Eigentlich sind die obigen Probleme genau die Antwort auf die Frage zum Schluss, d.h. eine Session loest all das (Cache, lazy loading ...).
Nur: Ich kann/sollte eine Session nicht Anwendungsweit verwenden, sondern nur wenn ich mit der Datenbank kommuniziere also eben wenn ich eine Transaktion durchfuehre. Somit nuetzt mir die Session eigentlich gar nichts, da sie ja im Vergleich zu meiner Anwendung ziemlich kurzlebig ist. Also nichts mit Laden eines Objektgraphen (Domain) und anschliessendem Arbeiten mit diesem Graphen waehrend der gesamten Andwendungsdauer.
Somit bietet die Session eigentlich wirklich nicht mehr als eine Transaktion.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Jan 27, 2006 10:36 am 
Newbie

Joined: Fri Jun 17, 2005 2:07 am
Posts: 19
Location: Berne, Switzerland
hi,

der grösste vorteil ist imo, dass das objekt-modell vom db-modell getrennt ist. d.h. ich kann mein db-modell änder, ohne meine java-klassen anpassen zu müssen.

gruss
jakob


Top
 Profile  
 
 Post subject: stimmt zwar
PostPosted: Fri Jan 27, 2006 11:05 am 
Newbie

Joined: Sun Jan 22, 2006 12:04 pm
Posts: 5
Quote:
hi,

der grösste vorteil ist imo, dass das objekt-modell vom db-modell getrennt ist. d.h. ich kann mein db-modell änder, ohne meine java-klassen anpassen zu müssen.

gruss
jakob


das kann man immer wenn man eine abstraktionsschicht dazwischen schaltet. ;-)


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 6 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.