HQL Frage

Status
Nicht offen für weitere Antworten.

k4lle

Mitglied
Ich habe folgende Abfrage:

ergebnis = session.createQuery("from Maschinendaten where betriebsmittel " +
"like :betr and kunde_nr like :k_nr and serien_nr like :s_nr")
.setInteger("betr", betr).setInteger("k_nr", k_nr).setInteger("s_nr", s_nr)
.list();

Funktioniert auch soweit. Ich schreibe die Parameter der Operation in die Abfrage.
Ich will die Abfrage aber noch verfeinern. Weiß aber nicht wie.

Beispiel:
"from Maschinendaten where betriebsmittel like '111%'"
hier findet die abfrage alle betrebsmittel mit 111 am anfang. so soll es bei der oberen abfrage auch sein.
ich weiß aber nicht wie ich das % in die obere abfrage einbaue.
für hilfe wäre ich sehr dankbar...
 
S

SlaterB

Gast
erstmal SQL programmieren, dann HQL,
ein Zahlfeld kannst du doch in SQL nicht mit like abfragen oder?

andererseits sagst du ja dass es klappt, ist betriebsmittel doch eine Zeichenkette?
funktioniert setString("betr", betr+"%"). ?
 

k4lle

Mitglied
also die abfrage funktioniert so wie sie ist.

betriebsmittel ist ein Integer und ich kann es in HQL mit like abfragen.

wenn du mir sagen kannst, das ich mit Hilfe von SQL folgende Abfrage mache kann, dann kann ich auch sofort SQL benutzen. Ich weiß halt bloß nicht wie ich meine Parameter in die SQL-Abfrage packe.

select betriebsmittel from maschinendaten where betriebsmittel like '?%';

wenn du mir jetzt sagen kannst wie ich mein parameter aus der methode für das ? einsetzen kann, dann benutze ich sofort SQL.

ich denke ist verständlich was ich meine oder?
 
S

SlaterB

Gast
also ich habe das bei mir jetzt auch mal ausprobiert, funktioniert in SQL
und in HQL mit
setString("s_nr", "6%")
dann mach es doch so, zahl + "%" wirst du jawohl manuell zusammenbauen können
 

k4lle

Mitglied
ok wenn du sagst das funktioniert so, dann werde ich das gleich mal versuchen.

es gibt aber noch eine sache die ich ich zuvor begreifen bzw. lösen muss. dazu hast du in einem anderen thread auch was geschrieben.

danke
 

k4lle

Mitglied
klappt wunderbar so wie du mir gesagt hast SlaterB.
So soll es funktionieren.

an maiki: wieso sollte ich das mittels criteria machen? was für vorteile bringen mir criterias im gegensatz zu hql oder sql?
 
S

SlaterB

Gast
bei Criteria muss man das % auch manuell einfügen, nix gewonnen
 
M

maki

Gast
an maki: wieso sollte ich das mittels criteria machen? was für vorteile bringen mir criterias im gegensatz zu hql oder sql?
So macht man das normalerweise in Hibernate, wäre auch ziemlich seltsam für so einfache Dinge immer gleich wieder auf SQL runterzugehen, mit ORM sollte man so gut wie gar kein SQL mehr schreiben, sehr selten ist es unvermeidbar, aber nie erwünscht.

Abgesehen davon ist Criteria genau dafür gemacht ;)
 

k4lle

Mitglied
ok. wenn du das so sagst, dann gehe ich davon aus das du aus der "praxis-sicht" redest.

wenn ich mir bücher durchlese wird mir lediglich gesagt, dass es 3 möglichkeiten für db-abfragen gibt (sql, hql, criterias) und die theorie zu diesen erklärt. welche man benutzen sollte wird nie genau gesagt. deswegen habe ich bisher gedacht, dass es im prinzip egal ist wie man dier abfragen macht.

wenn du mir aber sagt, dass versucht wird möglichst alles mittels criterias zu lösen, dann glaube ich dir das mal und werde das ab jetzt versuchen einzuhalten :)
 
S

SlaterB

Gast
HQL ist mächtiger und lesbarer als Criteria und wird mehr verwendet,

der einzige Vorteil von Criterial ist der objektorierte Zusammenbau statt mit if/ else einzelne Teilstrings zusammenzuschnipseln,
macht man aber eh fast nie und wenn, dann mit der Gefahr, mit den Criterias nicht auszukommen und doch noch eigene Erweiterungen einzubauen..

--------

> wäre auch ziemlich seltsam für so einfache Dinge immer gleich wieder auf SQL runterzugehen

?
LIKE in HQL ist offensichtlich nicht anders als in Criteria,
außer lesbarer
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Frage zu Bundesliga-DB Datenbankprogrammierung 1
pkm Frage zu Encodingproblem bei einer Datenbankanbindung Datenbankprogrammierung 1
B Frage bei einer SQL Query Datenbankprogrammierung 3
B Frage zu Datenbank Design bei Events (ZenDesk) Datenbankprogrammierung 1
B SQLite Frage zu SQLite Datenbankverbindung Datenbankprogrammierung 7
M Frage zu JSON Datenbankprogrammierung 16
Psypsy Hibernate / JPA OneToOne MappedBy Frage Datenbankprogrammierung 2
P Frage zu Connection.close() Datenbankprogrammierung 4
R MySQL Frage zum Anlegen von Artikeln inkl. Verbindungen Datenbankprogrammierung 0
M Grundlegende Klassen-Design Frage Datenbankprogrammierung 0
P MySQL Frage zur Einbindung in ein Java Projekt Datenbankprogrammierung 2
I Frage zu Datenmodellierung Datenbankprogrammierung 3
J Normalisierung - Allgemeine Frage zur 3. Normalform (Eventuelle Abhängigkeit) Datenbankprogrammierung 4
F Normalisierung Datenbank Frage Datenbankprogrammierung 5
J Frage zu ResultSet Datenbankprogrammierung 3
W Frage zur Datenbankwahl bei Umstieg auf Java Datenbankprogrammierung 7
D Frage zu DISTINCT in SQL Datenbankprogrammierung 5
K Frage zur Datenprotokollierung bei DML Anweisungen Datenbankprogrammierung 3
K Frage zu SQL Datenbankprogrammierung 2
L PostgreSQL Hibernate-Frage Datenbankprogrammierung 2
K Frage zu Datenbankmodellierung Datenbankprogrammierung 15
D Generelle Frage zum Umgang mit Datensätzen Datenbankprogrammierung 5
L Frage zu UpdateQuery Datenbankprogrammierung 12
8 MySQL Kurze Frage zur Sicherheit Datenbankprogrammierung 9
D Frage zu INSERTS über mehrere Datenbanktabellen Datenbankprogrammierung 3
D Frage zu Ausführungsmöglichkeiten von SQL Befehlen Datenbankprogrammierung 13
D Frage zu SQL Syntax Datenbankprogrammierung 17
D Frage zu potenziellen Leerzeichen in einer Datenbank Datenbankprogrammierung 5
X Connection schließen oder speichern? Performance Frage Datenbankprogrammierung 7
J mal wieder eine Frage zu parallelen Transaktionen.. Datenbankprogrammierung 2
V Frage zu Hibernate-Mapping Datenbankprogrammierung 11
N Allg. Frage zur Datenbankverbindung Datenbankprogrammierung 2
E einfache Frage bei DB-Zugriff Datenbankprogrammierung 11
S MySQL Frage zu LeftJoin Abfrage Datenbankprogrammierung 2
O eigentlich simple SQL Frage Datenbankprogrammierung 2
M Frage zu folgender Query in EJB-QL Datenbankprogrammierung 4
H JBoss: Frage zur Datasource in der ...-ds.xml Datenbankprogrammierung 4
F Frage zu Prepared Statement Datenbankprogrammierung 2
R hibernate Frage zu configFile-Pfad und Groß/Kleinschreibung von Postgres-Tabellen Datenbankprogrammierung 8
U Frage zum Erfassen von hinzufügten und entfernten Objekten Datenbankprogrammierung 9
M prinzipielle Frage zu Datenbanken und jars ... Datenbankprogrammierung 2
S Hibernate - spezielle Frage, n zu n Beziehung Datenbankprogrammierung 11
R Frage zu PreparedStatement/ResultSet Datenbankprogrammierung 16
J Frage zu Synchronisation bei parallelem Zugriff, speziell mit JPA Datenbankprogrammierung 2
F EclipseLink persistence.xml Frage Datenbankprogrammierung 11
N Frage zur Sicherheit von Konfigurationsdatei Datenbankprogrammierung 4
H performance frage Datenbankprogrammierung 9
G Frage zum Insert-Statement Datenbankprogrammierung 2
Antoras Design-Frage: Datenzuordnung zu verschiedenen Accounts Datenbankprogrammierung 2
T HSQL: verständnis Frage Datenbankprogrammierung 2
T Java JPA Frage bzgl. DISTINCT Datenbankprogrammierung 2
G Frage zu connection? Datenbankprogrammierung 9
A Frage zu SQL-Abfrage Datenbankprogrammierung 2
G Frage zu SQL "WHERE IN (1, 2, 3. , N)" Datenbankprogrammierung 8
G Allgemeine Frage zu Datenbanklimits Datenbankprogrammierung 27
G allgemeine JDBC-Connection Frage Datenbankprogrammierung 2
G Frage zu Hibernate und M:N Beziehung Datenbankprogrammierung 9
D kurze Frage zu einem Query Datenbankprogrammierung 6
B Hibernate mit MySql - Verständniss Frage Datenbankprogrammierung 8
N Kleine Frage zu Connection Pooling mit DataSource Datenbankprogrammierung 2
T Update-Frage Datenbankprogrammierung 11
E SQL-Frage (Löschen aller Datensätze) Datenbankprogrammierung 9
P Frage zu Performancetest einer Datenbank Datenbankprogrammierung 3
W Frage zum Umgang mit DB-Daten Datenbankprogrammierung 2
E Nochmal eine Datenbankabfrage Frage :-o (JOIN oder so) Datenbankprogrammierung 4
P frage zu "" bei INSERT STATEMENTS Datenbankprogrammierung 2
K frage zum ausführen eines INSERT statements Datenbankprogrammierung 16
L frage zu mySQL Datenbankprogrammierung 4
C Mal ne Frage an die Experten Datenbankprogrammierung 4
G Frage zum Datenbankdesign Datenbankprogrammierung 5
J DB Verbindung Design Frage Datenbankprogrammierung 5
M Datenbankanbindung in Java : Newbie-Frage Datenbankprogrammierung 2
U Grundsätzliche Frage Datenbankprogrammierung 4
S Frage zu INSERT Datenbankprogrammierung 2
X Wieder mal ne Frage ... Datenbankprogrammierung 15

Ähnliche Java Themen

Neue Themen


Oben