Wie Baue JPQL-Abfragen, wenn die Parameter sind dynamisch?

Frage ich mich, ob es eine gute Lösung zum erstellen einer JPQL Abfrage (meine Abfrage ist auch "expressive" und ich kann-Kriterien) auf der Grundlage eines filters.

Etwas wie:

query = "Select from Ent"
if(parameter!=null){
   query += "WHERE field=:parameter"
}
if(parameter2!=null) {
   query += "WHERE field2=:parameter2"
}

Aber ich würde schreiben, WO zweimal!! und die kasuistische explodiert, als die Anzahl der parameter erhöht. Weil keiner oder alle könnte null sein schließlich.

Jeden Hinweis, um diese Abfragen basierend auf filtern auf einem richtigen Weg?

InformationsquelleAutor Mr.Eddart | 2011-09-08
Schreibe einen Kommentar