# Hibernate Problem



## firestone (3. Apr 2008)

Hey Leute gibt es eine Möglichkeit in einer Hibernate Mapping Datei eine andere Tabelle so einzubinden das ich sie bei einer SQL Queri mit angeben kann. 
Ich mache eine Abfrage mit Hibernate auf die Datenbank brauche aber Infos aus zwei Tabellen aber als Ergebnis nur die Spalten aus der einen. 
Normalerweise würde ich das mit einem + 

Select tabelle2.* from tabelle1, tabelle2 where ..... 

machen aber leider kann meine Hibernateversion nur Befehle die direkt mit from anfangen und es werden dann alle Spalten aus den angegeben Tabellen gelesen. 

Jetzt wollte ich in der Mapping Datei versuchen eine Art join zu machen damit die Spalten der anderen Tabelle bekannt und zugreifbar sind . 

Ich hoffe ihr versteht was ich meine besteht diese Möglichkeit und wenn ja wie mache ich das am besten ???


----------



## byte (3. Apr 2008)

Du kannst auch stink normale SQL Queries mit Hibernate abfeuern: session.createSQLQuery()


----------



## firestone (3. Apr 2008)

Ehm wenn ich versuche eine SQL Query zu erstellen dann will der folgendes 

createSQLQuery(String arg0, String arg1, class arg2)

was will der denn da jetzt als String und als Klasse O_O


----------



## ms (3. Apr 2008)

Ich bin mir nicht sicher ob du Hibernate tatsächlich verstanden hast.
Hibernate liefert dir Objekte und dazu musst du letztendlich eine Klasse angeben.
Entweder über ein Mappingfile oder auch eben in der genannten Methode wobei die genannte Methode eher selten 
und in Ausnahmefällen gebraucht wird.

ms


----------



## firestone (3. Apr 2008)

also ich habe folgenden Befehl 

```
String abfrage = "select from sp.* from Spe22p sp,Spe20p sl where sl.Spe20pID.Status = :a and sp.Spe22pID.nummer = sl.Spe20pID.nummer";
```


So ich habe jeweils für die Spe22p und die Spe20P eine Hibernate Mapping Datei das :a muss duch A ersetzt werden in der Query so nun liefert mir aber unsere Persitenzschickt nur die Möglichkeit eine SQL Abfrage mit 

createSQLQuery(String arg0,String arg1, Class arg2) 
zu erstellen 
ich habe gar keine andere Möglichkeiten :/


----------

