Join n:m

Status
Nicht offen für weitere Antworten.

MQue

Top Contributor
Hallo,

muss wieder mal um ein SQL- Statement fragen, DB Vorlesung ist schon lange her und im Skriptum find ichs auch nicht.

bei 3 Tabellen (Person, Person_Event, Events): wie kann ich zu einer Person alle Events finden.
Wäre Euch sehr dankbar.
lg
 

The_S

Top Contributor
SQL:
SELECT ev.*
FROM event ev
INNER JOIN person_event pe_ev 
  ON  pe_ev.id_event = ev.id
  AND pe_ev.id_person = :idDerPerson
 

MQue

Top Contributor
SQL:
SELECT ev.*
FROM event ev
INNER JOIN person_event pe_ev 
  ON  pe_ev.id_event = ev.id
  AND pe_ev.id_person = :idDerPerson

Vielen Dank, ein Problem hab ich noch, ich würde das in HQL benötigen.
Kann man das auf die schnelle umschreiben,
Danke noch mals,
lg
 

The_S

Top Contributor
Auf die Schnelle:

[HQL]SELECT e
FROM Event e
JOIN e.persons p
WHERE p.id = :idDerPerson[/HQL]
 

MQue

Top Contributor
Da bekomme ich eine Exception:

could not resolve property: Person of: org.hibernate.tutorial.domain.Event [SELECT e
FROM org.hibernate.tutorial.domain.Event e JOIN e.Person p WHERE p.id = :personId]
at org.hibernate.persister.entity.AbstractPropertyMapping.propertyException(AbstractPropertyMapping.java:67)

aber kein wunder, ich hab (auch) keine Ahnung von HQL.
Wäre dir nochmals sehr dankbar für Hilfe,
lg

Java:
final List list = session.createQuery("SELECT e FROM Event e JOIN e.Person p WHERE 
p.id = :personId").setString("personId", Long.toString(personId)).list();


Java:
<hibernate-mapping package="org.hibernate.tutorial.domain">
  <class name="Event" table="EVENTS">
    <id column="EVENT_ID" name="id">
      <generator class="increment"/>
    </id>
    <property column="EVENT_DATE" name="date" type="timestamp"/>
    <property name="title"/>
    <set inverse="true" name="participants" table="PERSON_EVENT">
      <key column="EVENT_ID"/>
      <many-to-many class="Person" column="PERSON_ID"/>
    </set>
  </class>
</hibernate-mapping>

Java:
<hibernate-mapping package="org.hibernate.tutorial.domain">
  <class name="Person" table="PERSON">
    <id column="PERSON_ID" name="id">
      <generator class="increment"/>
    </id>
    <property name="age"/>
    <property name="firstname"/>
    <property name="lastname"/>
    <set cascade="all-delete-orphan" name="events" table="PERSON_EVENT">
      <key column="PERSON_ID"/>
      <many-to-many class="Event" column="EVENT_ID"/>
    </set>
  </class>
</hibernate-mapping>
 

The_S

Top Contributor
Wie schaut denn deine Event Klasse aus? Evtl.

[HQL]SELECT e
FROM Event e
JOIN e.participants p
WHERE p.id = :idDerPerson[/HQL]
 

MQue

Top Contributor
Wie schaut denn deine Event Klasse aus? Evtl.

[HQL]SELECT e
FROM Event e
JOIN e.participants p
WHERE p.id = :idDerPerson[/HQL]

Halleluja, so funktionierts, mühsam ernährt sich das Eichhörnchen,
ich seh mich schon im Urlaub mit einem Hibernate- Buch herumlaufen, das wäre nicht das schlechteste :oops:
besten dank für deine Hilfe!!
 

The_S

Top Contributor
Halleluja, so funktionierts, mühsam ernährt sich das Eichhörnchen,
ich seh mich schon im Urlaub mit einem Hibernate- Buch herumlaufen, das wäre nicht das schlechteste :oops:
besten dank für deine Hilfe!!

Wäre wohl das sinnvollste. Aber zumindest die Basics sind nicht kompliziert. Du fragst keine Tabellen sondern Klassen (bzw. Objekte ab) und greifst auch nicht auf Tabellenspalten, sondern auf Attribute zu. "Sonst" hat sich nichts verändert ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
D JOIN COLUMN wird nicht genommen Datenbankprogrammierung 2
Zrebna Wie mittels Hibernate eine Join-Tabelle als eigene Java-Klasse erstellen? Datenbankprogrammierung 5
D Left Join mit Wioth Rollup Datenbankprogrammierung 0
S MySQL ehemaliger FULL OUTER JOIN zusammenstellen Datenbankprogrammierung 1
L Join zweier Tabellen in SQL Datenbankprogrammierung 2
A Fehlermeldung: JOIN FETCH expressions cannot be defined with an identification variable Datenbankprogrammierung 0
B Inner Join ohne SQL Syntax Datenbankprogrammierung 2
S SQL join - NullPointerExeption Datenbankprogrammierung 3
E Mehrere Tabellenspalten mit INNER JOIN verknüpfen Datenbankprogrammierung 1
OnDemand LEFT JOIN id hat Null Datenbankprogrammierung 6
ruutaiokwu reihenfolge der operanden bei join's Datenbankprogrammierung 5
G SQLite Self Join "unbestimmter tiefe" Datenbankprogrammierung 7
I MySQL Vergleich über mehrere Tabellen! Join? Datenbankprogrammierung 6
N Select mit join Datenbankprogrammierung 3
F Oracle select sum() join select sum() Datenbankprogrammierung 9
Kenan89 Datenbank Join Datenbankprogrammierung 16
M JPQL - Join Verkettung Datenbankprogrammierung 8
K SQL Inner Join - On Klausel Datenbankprogrammierung 10
F Komplexer Tabellen-Join und Ausgabe in Excel Datenbankprogrammierung 17
G JOIN Abfrage über mehrere Tabellen Datenbankprogrammierung 15
kirchrath Hibernate Join - angejointes Objekt wählen Datenbankprogrammierung 2
Eldorado MySQL SELECT mit GROUP BY und INNER JOIN Datenbankprogrammierung 2
G Join Abfrage Datenbankprogrammierung 12
S SQL inner join bei >10 Tabellen über 2 Variablen Datenbankprogrammierung 2
T MySQL: Join auf sich selbst schlägt fehlt Datenbankprogrammierung 3
0x7F800000 MS-SQL Server 2008 Wie benutzt man da NATURAL JOIN / INNER JOIN USING? Datenbankprogrammierung 3
D join updaten in java Datenbankprogrammierung 4
G [Hibernate] Problem mit LEFT JOIN Datenbankprogrammierung 7
S Preparestatement mit join Datenbankprogrammierung 4
S MySQL: Abfrage auf 2 Tabellen durch join Datenbankprogrammierung 5
P Join Datenbankprogrammierung 4
G Hilfe: Werte sind alle x2 (oder mehr) nach JOIN Datenbankprogrammierung 13
M Proble mit Selcet mit join und rst.next() Datenbankprogrammierung 15
T Diverse JDBC Probleme (inner join, rs.last(), update) Datenbankprogrammierung 2
E ERROR: argument of JOIN/ON must be type boolean? Datenbankprogrammierung 2
E Nochmal eine Datenbankabfrage Frage :-o (JOIN oder so) Datenbankprogrammierung 4
E JOIN und * Datenbankprogrammierung 3
G Probleme mit Access und Join Datenbankprogrammierung 3
G PL/SQL: Join mit Collection Datenbankprogrammierung 5
T [SQL] Doppelter Join aus der selben Tabelle & Feldnnamen Datenbankprogrammierung 3
S JOIN und wohin damit? Datenbankprogrammierung 5

Ähnliche Java Themen

Neue Themen


Oben