SQL-Abfrage (Oracle 10) EJB3.0

ceene

Erfahrenes Mitglied
Hallo alle zusammen

Ich habe mal ne Frage zu meinem EntityBean. Ich habe ein EntityBean mit einem NamedNativeQuery. Die Abfrage t auch 100%ig. Ich habe auch einen Parameter in der Abfrage den ich vorher setzten muss.

Nun möchte ich gerne das ich auch eine Liste als Parameter übergeben kann.

Hier mein Beispiel:
Mein SQL sieht wie folgt aus:
Code:
SELECT * FROM xyz_table WHERE name = :name

wenn ich nun den Parameter mit query.setParameter("name", Sascha) setze t das wunderbar.

Nun meine Frage:
Wenn ich jetzt nach Sascha, Timo und Kai suchen will und den SQL nicht dreimal hintereinander ausführen will, wie geht das?
Wenn ich die Namen mit Komma in den Parameter schreibe geht das nicht.
Kann mir da wer helfen?
 
Du rufst einfach jeweils setParameter und führst den Query aus. Oder schreibst dir halt nen Query, der die WHERE Bedingungen verodert. Oder du nutzt Hibernates Criteria API.

Ehrlich gesagt versteh ich die Frage nicht so richtig ;)

Gruß
Ollie
 
wenn ich dem Parameter name den Wert "sascha" zuweise bekomm ich ein Ergbniss

wenn ich dem Parameter name den Wert "sascha,timo" übergebe bekomm ich kein Ergbniss.
Was muss ich da machen damit ich auch da ein Ergebniss bekomm?
 
nein nicht so

select * from xyz_table where name = (sascha,timo,kai)

so sieht das aus wenn es ausgeschrieben ist. Und es t auch so.
Das Problem ist nur das ich die Namen als Variable übergeben will.

String dummy = "sascha, kai, timo";
query.setParameter("name",dummy);

Leider t es so nicht, aber warum und wie kann ich das machen, dass es t.
 

Neue Beiträge

Zurück