Hallo zusammen,
ich bin langsam am vereifeln...
Ich habe ein Problem mit einem dynamischen Sql von Hibernate.
Ich nutze die Query-Klasse von Hibernate um mir ein solches
zusammenbauen zu lassen.
der Filter, der dem Query als Parameter mitgegeben wird ist ein String.
Auf der Datenbankseite von Oracle sitzt auf diesem Attribut
ein Index (VarchChar(15)-Feld)
dieses Query dauert ab "query.list()" ganze 2 Minuten
Setze ich die auskommentierten Teile (if-else) aktiv,
dauerts nur 2 Sekunden...
---ABER dann bekomme ich bei weiterern/erneuten Ausführungen Caching-Probleme im JBoss
Hat jemand Tipps/Erfahrungen mit Hibernate und Index-Use auf Datenbankebene ?
Ich bin für jeden Hinweis dankbar.
MfG
Polli
ich bin langsam am vereifeln...
Ich habe ein Problem mit einem dynamischen Sql von Hibernate.
Ich nutze die Query-Klasse von Hibernate um mir ein solches
zusammenbauen zu lassen.
Java:
// zusammenbauen des queryStr
// ...
// Query-Object aus Session erstellen
Query query = session.createQuery(queryStr.toString());
// if (filter instanceof String) {
//query.setParameter("j_filter", "'" + filter + "'");
//} else {
query.setParameter("j_filter", filter);
//}
// Query absetzen und Ergebnis empfangen
List<Entity> dataSets = query.list();
der Filter, der dem Query als Parameter mitgegeben wird ist ein String.
Auf der Datenbankseite von Oracle sitzt auf diesem Attribut
ein Index (VarchChar(15)-Feld)
dieses Query dauert ab "query.list()" ganze 2 Minuten
Setze ich die auskommentierten Teile (if-else) aktiv,
dauerts nur 2 Sekunden...
---ABER dann bekomme ich bei weiterern/erneuten Ausführungen Caching-Probleme im JBoss
Hat jemand Tipps/Erfahrungen mit Hibernate und Index-Use auf Datenbankebene ?
Ich bin für jeden Hinweis dankbar.
MfG
Polli