[Hibernate] Criterion-Query in HQL übersetzen

Status
Nicht offen für weitere Antworten.

poffi

Mitglied
Hallo zusammen

Ich habe zwei persistente Klassen "Parent" und "Child". "Child" habe ich als one-to-many-Beziehung gemapt.
Ein HQL soll nun alle "Parents" herauslesen, deren Childnummer einen bestimmten Wert entspricht (Childnr. ist nicht der Primarykey):

"from ch.***.Parent where child.childNr = :childNr"

Dies ergab bei mir immer den folgenden Fehler:
"could not resolve property: childNr"

Also versuchte ich es anhand von Criterion:
Criteria criteria = session.createCriteria(Parent.class);
criteria.createCriteria("child").add(Expression.eq("childNr", childNr));

Und siehe da, es funktionierte. Nun hätte ich es aber lieber als HQL.
Kann mir jemand den Criterion-Code in einen HQL übersetzen?

Vielen Dank!

mfg
 
S

SlaterB

Gast
in der Hibernate-Konfigurationsdatei gibt es Parameter

Code:
<prop key="hibernate.show_sql">false</prop>
<prop key="hibernate.format_sql">false</prop>
<prop key="hibernate.use_sql_comments">false</prop>
stell die mal auf true
 

poffi

Mitglied
Vielen Dank SlaterB für deinen Tipp!

Ich bekomme nun also den SQL zurück, der diesen Aufbau hat:


Code:
select … from TabelleParent parent inner join TabelleChild child on parent.childId = child.childId where …

Meine Übersetzung dazu sieht so aus:


Code:
From Parent inner join Child on Parent.child = Child

Dieser Query lässt sich aber nicht ausführen.

Die Ganze join-Sache macht mir schon längere Zeit Probleme. Die mageren Beispiele in der Hibernatedokumentation hilft mir hier auch nicht weiter.

Kann mir jemand weiter helfen?
 
S

SlaterB

Gast
> From Parent inner join Child on Parent.child = Child

und warum sollte das gehen?
vielleicht gehts ja, aber mach es doch lieber wie Hibernate es macht?

->
From Parent p inner join Child c on p.child = c

das klingt doch fundamental anders und viel objektorientierter ;)


hilft bei deinem eigentlichen Problem aber anscheinend nicht weiter?
 

poffi

Mitglied
SlaterB hat gesagt.:
hilft bei deinem eigentlichen Problem aber anscheinend nicht weiter?
Nein, nicht wirklich. Ich belasse das Ganze nun vorläufig bei der Abfrage über Criterias.
Die *.hbm.xml-Datei darf ich leider nicht posten.

Danke!
 

KSG9|sebastian

Top Contributor
session.createQuery("from Parents p WHERE p.child.childNr = :childNr");

Die hbm's interessieren wenig. Folgende Dinge sind interessant:

-Wie heißt die Referenz auf Child in der Klasse Parent, also der VariablenName
-Wie ist das Property childNr gemappt bzw. wie heißt das Attribute in der Klasse Child ?
 

poffi

Mitglied
Folgende Zeilen stehen für die one-to-one-Beziehung zum Childobjekt im Parent-Mapping

Code:
<many-to-one name="child" class="*.child" not-null="true" lazy="false" unique="true">
	<column name="CHILD_ID" sql-type="smallint"/>
</many-to-one>

So wird das Feld childNr im Mapping der Klasse Child deklariert:
Code:
<property name="childNr" type="java.lang.String" column="CHILD_NR" length="20"/>

Helfen diese Informationen weiter?
 
G

Guest

Gast
Hi,

der Name der Spalte, der für die Beziehung verwendet wird, unterscheide sich.
In Parent heißt die Spalte CHILD_ID und in Child heißt sie CHILD_NR.
Wurden die hbms nicht generiert?

Grüße,
Matthias
 
M

MatthiasKnorr (offline)

Gast
Ach ja, ist natürlich schlecht, wenn die Namen sich unterscheiden. :)

Grüße,
Matthias
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
torresbig MySQL hibernate - could not resolve entity class ... (Datenbank Anfänger) Datenbankprogrammierung 19
I Hibernate Predicate mit IN Clause "Unaware how to convert value to requested type" Datenbankprogrammierung 0
T org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: ..., could not initialize proxy - no Session Datenbankprogrammierung 5
T Realisierungsvorschläge Hibernate SQL Datenbankprogrammierung 1
Zrebna Wie mittels Hibernate eine Join-Tabelle als eigene Java-Klasse erstellen? Datenbankprogrammierung 5
Zrebna Tabellen-Erzeugung via Hibernate ignoriert 'CascadeType' settings Datenbankprogrammierung 1
I Hibernate / JPA - Spaltenname von Query (Select) bekommen Datenbankprogrammierung 6
M Mysql Views und Hibernate Caching Datenbankprogrammierung 4
damike84 Hibernate: persistieren eines Graphen Datenbankprogrammierung 2
N Hibernate Entitäten bei Selects aus 2 Tabellen Datenbankprogrammierung 7
OnDemand Hibernate Realationen Datenbankprogrammierung 7
OnDemand Hibernate ManyToOne Datenbankprogrammierung 5
D Hibernate oneToMany Syntaxfehler Datenbankprogrammierung 3
D Hibernate Error: NoSuchMethodError Datenbankprogrammierung 4
D hibernate mit postgreSQL Datenbankprogrammierung 3
S MySQL Hibernate: Fehler bei Verwendung von 2 unterschiedlichen Enumration Datenbankprogrammierung 3
F Problem mit Hibernate c3p0 Datenbankprogrammierung 2
OnDemand MySQL Trigger löst nicht aus bei Hibernate Update Datenbankprogrammierung 12
OnDemand Hibernate OneToMany ManyToOne Datenbankprogrammierung 61
J Hibernate One-To-One mit Where Klausel Datenbankprogrammierung 6
L hibernate.cfg.xml Could not parse configuration Datenbankprogrammierung 0
L H2 Hibernate definieren? Datenbankprogrammierung 1
T JPA Mapping Enum (hibernate 5) Datenbankprogrammierung 1
H In hibernate.cfg.xml schreiben und auslesen Datenbankprogrammierung 0
K Hibernate: Ein Fluch Datenbankprogrammierung 3
K Java Object mit Hibernate in MySQL abspeichern Datenbankprogrammierung 1
K Eclipse: JBoss Hibernate Tool: Kein Zugriff auf Datenbank Datenbankprogrammierung 5
S JpaRepositories & Hibernate: ungewolltes trim() in findBy Datenbankprogrammierung 7
S MySQL hibernate exception: illegal state exception : entityManagerFactory is closed Datenbankprogrammierung 5
S Hibernate: Verschiedene Klassen zurückgeben. Datenbankprogrammierung 2
looparda Architektur für JPA Hibernate Umstieg Datenbankprogrammierung 14
O HSQLDB Hibernate Criteria Problem Datenbankprogrammierung 3
perlenfischer1984 Hibernate mit final members Datenbankprogrammierung 3
perlenfischer1984 Java Objecte speichern mit Hibernate ? Datenbankprogrammierung 2
N SQLite Hibernate und Aufruf von Funktion SELECT last_insert_rowid() Datenbankprogrammierung 2
N Sqlite3 und Hibernate Datenbankprogrammierung 3
A Hibernate Cache leeren Datenbankprogrammierung 4
I MySQL Hibernate zu viele Queries Datenbankprogrammierung 2
Psypsy Hibernate / JPA erkennen von schon gespeicherten Objekten Datenbankprogrammierung 4
Psypsy Hibernate / JPA OneToOne MappedBy Frage Datenbankprogrammierung 2
J Hibernate + DTOs - DTOs in DAOs verwenden? Datenbankprogrammierung 1
S Hibernate-Konfiguration : Unverständliche Ausgabe beim Ausführen Datenbankprogrammierung 0
I MySQL Hibernate / MySQL alias in WHERE clause Datenbankprogrammierung 1
J Hibernate + HSQL embedded Datenbankprogrammierung 2
P Hibernate Einstieg Datenbankprogrammierung 5
C Hibernate und createQuery Datenbankprogrammierung 2
V kennt jemand empfehlenswerte online tutorials zur Hibernate ? gerne auch englisch. Datenbankprogrammierung 4
G H2 Hibernate - wie joins machen Datenbankprogrammierung 1
D Hibernate: Zustand eines Objekts erkennen? Datenbankprogrammierung 0
D Unterschiede Hibernate Vs. Java Persistence API Datenbankprogrammierung 8
I Hibernate / JPA Index hinzufügen Datenbankprogrammierung 1
X Hibernate Cache Verständnisproblem Datenbankprogrammierung 0
T Hibernate und inner class Datenbankprogrammierung 0
K n:m Tabellen mit Hibernate erstellen Datenbankprogrammierung 1
T Hibernate DAO gute Tutorials/Bücher gesucht Datenbankprogrammierung 0
C Hibernate: could not resolve property Datenbankprogrammierung 1
J Plug-In-Framework für Hibernate-Klassen Datenbankprogrammierung 0
M Hibernate - Save Child wenn nötig Datenbankprogrammierung 10
M DAO's + Hibernate Theorie Datenbankprogrammierung 4
T Hibernate, HSQLDB und UNIQUE Datenbankprogrammierung 2
F Hibernate - verschiedene Schemen Datenbankprogrammierung 7
D Hibernate SaveOrUpdate Exception Datenbankprogrammierung 2
D Hibernate CreateQuery ohne Result Datenbankprogrammierung 7
E MySQL Hibernate mit JaxWS führt zu LazyInitialization Exception Datenbankprogrammierung 8
L Einarbeitung in Hibernate -> wenn gute SQL Kenntnisse vorhanden? Datenbankprogrammierung 2
B DB2 Hibernate findet Datenbank nicht Datenbankprogrammierung 18
K JPA / Hibernate Annotations Datenbankprogrammierung 4
M JPA / Hibernate mit Postgres DB Datenbankprogrammierung 3
P JSF + H2 + TomEE + Hibernate/JPA Datenbank wird nicht angelegt Datenbankprogrammierung 3
E MySQL Hibernate ( Anfänger ) Datenbankprogrammierung 3
P Lazy-Fetchig und Session-Problem mit Hibernate Datenbankprogrammierung 4
J Hibernate Select auf Parameterliste Datenbankprogrammierung 3
C Hibernate ManyToMany zusammengesetzter Primärschlüssel, problem. Datenbankprogrammierung 3
P Oracle Hibernate - Oracle-VarChar-Index wird nicht genutzt Datenbankprogrammierung 3
M Hibernate Foreign Key definieren Datenbankprogrammierung 4
M Abstrakte Klassen Hibernate Datenbankprogrammierung 4
D Mit Hibernate (mit Annotation) auf Views zugreifen Datenbankprogrammierung 2
M [Hibernate]Abgleich eines lokalen Objekts mit dem Zustand aus der Datenbank. Datenbankprogrammierung 3
P Mit Hibernate mehrere Datensätze löschen Datenbankprogrammierung 7
P Probleme mit meinem 1. Hibernate Beispiel Datenbankprogrammierung 3
P erste Schritte mit Hibernate Datenbankprogrammierung 3
V Hibernate Interfaces von anderem Projekt Datenbankprogrammierung 2
J MySQL Datenbank konfigurieren, JDBC, MySQL oder Hibernate Datenbankprogrammierung 2
B Hibernate und portierbare Datenbank Datenbankprogrammierung 3
qwerqer [Hibernate] Mappingvarianten Datenbankprogrammierung 2
lumo Teneo Hibernate & JPA Datenbankprogrammierung 15
Z JPA mit Hibernate - Unable to build EntityManagerFactory Datenbankprogrammierung 7
Dit_ Hibernate, effiziente SQL-Abfrage definieren Datenbankprogrammierung 5
K Hibernate vs. JDBC Datenbankprogrammierung 4
J Hibernate Info 593 ? Datenbankprogrammierung 4
J Erstellen der SessionFactory in Hibernate 4.1 Datenbankprogrammierung 2
L PostgreSQL Hibernate-Frage Datenbankprogrammierung 2
X MySQL Hibernate: Massenupdate auf unbekannte Tabelle Datenbankprogrammierung 4
N hibernate: datasource Datenbankprogrammierung 7
H MySQL Hibernate: Updaten vereinfachen Datenbankprogrammierung 2
T Hibernate Division zweier Summen Datenbankprogrammierung 4
B MySQL Fehler: Cannot open connection mit Tomcat7, Hibernate und MySQL Datenbankprogrammierung 4
F GWT und Hibernate - gwt.dev.Compler not found Datenbankprogrammierung 3
M NestedTransaction- Exception in Hibernate Datenbankprogrammierung 15
O Löschen vieler Datensätze mit Hibernate Datenbankprogrammierung 11

Ähnliche Java Themen

Neue Themen


Oben