-->
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.  [ 4 posts ] 
Author Message
 Post subject: createSQLQuery
PostPosted: Tue Nov 28, 2006 6:11 am 
Newbie

Joined: Thu Nov 23, 2006 11:08 am
Posts: 14
hallo, ich moechte einen ganz einfache sql query an die db senden. das mach ich so:



Code:
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
SQLQuery sql = session.createSQLQuery("SELECT * FROM farge;");
      
List results = sql.list();


in der liste sind dann 13 elemente, was auch mit der datenbank uebereinstimmt. allerdings komm ich nicht an die werte ran, denn wenn ich mir das ausgeben lassen will, kommt nur sowas wie [Ljava.lang.Object;@13c664 raus, was ja wohl drauf deutet, dass ich da noch ne methode drauf aufrufen muss. muss ich vorher irgendwie noch was mappen? er hat ja 13 treffer gefunden, was auch hinhaut, wenn ichs so in der db ueberpruefe. wie liegt das denn in der liste vor?

vielen dank :-)


Top
 Profile  
 
 Post subject:
PostPosted: Tue Nov 28, 2006 8:02 am 
Expert
Expert

Joined: Tue Dec 07, 2004 6:57 am
Posts: 285
Location: Nürnberg, Germany
Hibernate hat die Elemente, du musst nur die toString Methode im gemappten Objekt implementieren (was eh vernünftig ist), dann siehst du auch was anständiges.

_________________
Please don't forget to rate


Top
 Profile  
 
 Post subject:
PostPosted: Tue Nov 28, 2006 8:35 am 
Senior
Senior

Joined: Fri May 14, 2004 9:37 am
Posts: 122
Location: Cologne, Germany
Oder Du iterierst einfach über die Getter-Methoden der farge Klasse und lässt Dir mittels Reflection die Werte für jedes Attribut der Klasse geben.
@Mike imho macht toString Methode überschreiben nur dann Sinn, wenn aus fachlichen Gründen equals und hashCode überschrieben worden sind, ansonsten kann wohl jeder einen Debugger bedienen und sich das Object darin ansehen und die Werte lesen.

_________________
regards

Olaf

vote if it helped


Top
 Profile  
 
 Post subject:
PostPosted: Tue Nov 28, 2006 4:43 pm 
Newbie

Joined: Sat May 14, 2005 11:19 am
Posts: 14
Hibernate kann aus Deiner Query keine Objekte bauen, weil kein Mapping angegeben ist. Deswegen gibt es das Ergebnis als Zeilen zurück. Eine Zeile wird dabei als Object[] zurückgegeben, wie Dein Output ja auch zeigt. D.h. Deine Liste enthält 13 Object[]. Da Du select * gemacht hast, ist es wohl eher zufällig, welche Spalte an welcher Stelle im Array steht. Deswegen am besten die Spalten in der Query aufzählen.

Falls Du jedoch Objekte haben möchtest, solltest Du nochmal in die Doku zu SQL-Queries schauen oder HQL nutzen (createQuery() statt createSQLQuery()).


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 4 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.