Hibernate nur bestimmte spalte ändern, laden? HQL?

Nobody

Mitglied
Hi bisher hab ich nicht viel Erfahrung mit Hibernate (session save/saveOrUpdate/Update und Criteria + Restrictions) aber wenn ich das alles richtig verstanden hab, dann läd und speichert mir auf diesem Wege immer den kompletten Datensatz eines beispielsweise Users (wenn es um eine Table mit User Infos gehen sollte).

Soweit so gut, nun interessiert mich aber nicht immer der gesammte Datensatz von sagen wir mal 80 Werten sondern eigentlich nur 2 stück... daher nun Zwei Fragen

1) Kann ich via criteria auch nur bestimmt Spalten auslesen ohne den ganzen datensatz ins java zu laden? und wie siehts dann beim speichern aus, würde ein session update auch die spalten d,e,f,g,h,i.... nullen wenn im userobject nur werte für die Spalten a,b,c endhalten sind) (falls es mit Criteria geht wäre ein stichhwort, eine methode nett, rest ergoogle ich mir.

2) was ist performanter... mySQL anhand eines querys oder criteria eine genau abfrage mitzuteilen welche nur die geforderten 2-3 werte zurückliefert und speichert? oder den gesammten datensatz zu forderen und abzuspeichern ...


Danke im Vorraus
 
Also ich hab mir mal einen beispiel query mit nem Session.Query zusammengebastelt...

das sieht dann so aus(wenns denn richtig ist):

PHP:
Query query = session.createQuery( "" +
"SELECT UserTable.PosY, UserTable.PosY " +
" FROM Users UserTable" +
" WHERE UserTable.ConnID = " + ConnectionID );
List userPositions = query.list();

wäre das die beste Lösung? oder gibts auch andere wege?


mfg
 
Zuletzt bearbeitet:
Zurück