-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 3 posts ] 
Author Message
 Post subject: Abfrage mit Criteria und Fremdschlüssel
PostPosted: Wed Sep 06, 2006 3:45 am 
Newbie

Joined: Sun Jan 01, 2006 1:39 pm
Posts: 15
Hallo,

ich habe ein Problem bei der Abfrage eines Fremdschlüssels. Meine Tabellen sind wie folgt aufgebaut:

Tabelle1:
ID
ID_Tabelle1
Name
Beschreibung
...

ID_Tabelle2 ist der Fremdschlüssel für die Tabelle2

Ausschnitt aus der Mapping Datei:
<many-to-one name="Tabelle2" class="com.Tabelle2" fetch="join">
<column name="ID_Tabelle2" not-null="true" />
</many-to-one>

Tabelle2:
ID
Name
Beschreibung
...

Ausschnitt aus der Mapping Datei:
<set name="Tabelle1s" inverse="true">
<key>
<column name="ID_Tabelle2" not-null="true" />
</key>
<one-to-many class="com.Tabelle1" />
</set>

Ich möchte jetzt ein Suchanfrage über die Tabelle 1 erstellen wo nur Datensätze drin sind mit einem bestimmten Fremdschlüssel. Da das aber nicht alle Abfrageattribute sind, benutze ich das Criteria Objekt um ein geeignetes Statement abzufeuern:

Criteria criteria = session.createCriteria(Tabelle1.class);
if (null!=name&& !name.equals(""))
criteria.add(like("name", "%" + name + "%");

Dies ist nur ein Ausschnitt aus meinem Programm, es folgen natürlich noch ein paar if Abfragen.

Ich muss dazu sagen das ich die Mapping Dateien automatisch in MyEclipse durch Reverse Engeneering generiert lassen habe.

Wie kann ich jetzt mein Abfrage so bauen das der Fremsschlüssel abgefragt wird. Da in meiner Mapping Datei der Eintrag des Fremschlüssels nicht gesetzt ist.

Wenn ich den Eintrag von Hand ergänze, dann kann ich ihn auch abfragen, aber ich denke dass es auch anders gehen würde, anonnsten wäre das Reverse Engeneering nicht so toll da ja eben der eine Eintrag fehlt. Und zudem wenn ich die Sachen neu generieren lasse bei Datenbank Änderungen, müßte ich den Eintrag immer wieder von Hand einpflegen.

Danke schon einmal für eure Hilfe.

Daniel

Hibernate version: 3.1


Top
 Profile  
 
 Post subject:
PostPosted: Fri Sep 08, 2006 1:25 am 
Regular
Regular

Joined: Mon Mar 06, 2006 6:18 am
Posts: 95
Location: Bern, Switzerland
hallo

hast du es schon mit
Code:
criteria.add(Restrictions.eq("Tabelle2.ID", "1234");


probiert?? gruess


Top
 Profile  
 
 Post subject: hallo
PostPosted: Mon Sep 11, 2006 8:28 am 
Newbie

Joined: Sun Jan 01, 2006 1:39 pm
Posts: 15
Ich meinte ja ohne genau diese Abfrage. Weil ID steht gar nicht zur Verfügung durch das Reverse Engeneering.

Wenn ich das Mapping von Hand eintrage, dann klappts auch.

Danke aber trotzdem für dei Antwort.

Daniel


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 3 posts ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.