# [Hibernate] Select Statement



## Jundi (4. Jan 2011)

Hallo, 

ich habe ein kleines Hibernate-Programm geschrieben, mit dem ich Datensätze in eine Datenbank schreiben, aktualisieren und löschen kann.
Nun möchte ich mir noch Datensätze anzeigen lassen und das klappt nur halb. Nur wenn ich die ID hart im Coding hinterlege zeigt er mir den Datensatz an. 

Wie kann ich dem select Befehl eine Variable übergeben, damit ich mir unterschiedliche Datensätze ausgeben kann?


```
Query q = session.createQuery("from Produkt where prodID = 2");
```

Vielen Dank

Jundi


----------



## Gast2 (4. Jan 2011)

```
String id = "2" // oder iwas anderes halt...;
Query q = session.createQuery("from Produkt where prodID = " + id);
```
???:L
Evtl. gibts auch sowas wie preparedStatements, ich kenn mich in hibernate nicht aus.


----------



## Jundi (4. Jan 2011)

Hat funktioniert, wunderbar 

Vielen Dank


----------



## tagedieb (4. Jan 2011)

Du kannst die Erstellung der Query auch einfach Hibernate ueberlassen...


```
Produkt produkt = (Produkt) session.load( Produkt.class, new Integer(id) );
```


----------



## mvitz (4. Jan 2011)

Und wenn wie oben, dann bitte NICHT dadurch einen String zu erzeugen, sondern mit Query Parametern:


```
Query q = session.createQuery("from Produkt where prodID = :id");
q.setInteger("id", 2);
```


----------

