Many-to-One Beziehung?!

sicLotus

Bekanntes Mitglied
Hallo,
ich habe 2 Tabellen:

Tabelle 1: Song mit folgenden Werten:
int id;
String name;
... (sind eigentlich alle unrelevant)

Tabelle 2: Price welche so aussieht:
int id; //eigene PreisID
int songID; (fremdschlüssel zur Tabelle Song)
float value; //der eigentliche Preis
... (auch nicht relevant)

Ich arbeite mit JBoss und hab mir mittels JPA eigentlich die Entitys modellieren lassen, allerdings ziemlich komisch.

Zu meinem eigentlichen Problem:
Er hat in dem Entity Price das so gemappt:
Java:
	//bi-directional many-to-one association to Song
    @ManyToOne
	@JoinColumn(name="songID")
	private Song song;

Das Problem ist, dass ich aber nich Zugriff auf den gesamten Song, sondern auf die ID haben möchte.
Wenn ich jetzt nen NamedQuery schreibe um mir alle Preise einer bestimmten ID anzeigen zu lassen, wie komm ich so an die ID ran?
Java:
@NamedQuery(
		name="price.findBySongIDAndProvider",
		query="SELECT p FROM Price p WHERE p.song = :songID AND p.provider LIKE :provider")

Wie komm ich an die ID ran? Ist die JPA Generierung falsch ... ich weiß nicht so recht weiter..
 

Smoothi

Bekanntes Mitglied
Ich versteh die Frage nicht richtig ;)

Meinst du innerhalb der Abfrage? Dann müßtest du die etwas ummodeln
Code:
SELECT p FROM Price p
LEFT OUTER JOIN p.song s
WHERE s.id = :songID AND p.provider LIKE :provider

Also du holst dir die zugehörigen Objekte mit dem Join und prüfst dann auf die ID von diesen Songobjekten. Da die Songobjekte ja mit den Preisobjekten verknüpft sind, sollte das so hinhauen
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
Z Hibernate: Many-To-Many nur eine bestimmte Spalte Data Tier 3
P JPA - HashMap mit Many-to-Many Relation Problem Data Tier 4
T JPA2/Hibernate: Many-to-Many-Relation wird u.a. beim löschen nicht aktualisiert Data Tier 14
N One-To-Many deprecated Data Tier 11
G Hibernate: many-to-one - Verwaiste Datensätze löschen Data Tier 2
F Kaskadierungsoperationen bei Many-to-Many-Beziehungen sinnlos? Data Tier 2
G Many to Many bidirektional Data Tier 19
D EJB 3.0 many-to-many Data Tier 4
D Hibernate Umsetzung multiple OneToMany Beziehung Data Tier 6
aze Hibernate Entfernen aus einer Collection soll zum Entfernen einer Beziehung führen Data Tier 3
S OneToOne Beziehung erzeugt not marked cascade PERSIST Data Tier 1
G Hibernate 1:n Beziehung mit Vererbung Data Tier 5
F JPA + EclipseLink rekursive Beziehung löschen Data Tier 2
N Löschen OneToMany Beziehung (delete-orphan) geht nicht Data Tier 2
I Beziehung User <-> Freund, wie bei Sozialen Netzwerken Data Tier 17
H [Hibernate]1:1 Beziehung Data Tier 8
G Hibernate 0...1 : 1 Beziehung Data Tier 6
K hibernate manytoone beziehung und fremdschlüssel als primary schlüssel Data Tier 2
M 1:n:1 Beziehung oder vererben? Data Tier 3
N Hibernate Annotations Rekursive Beziehung? Data Tier 2
G N:M:K Beziehung, n:m nur mit 3 tabellen Data Tier 3

Ähnliche Java Themen

Neue Themen


Oben