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:
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?
Wie komm ich an die ID ran? Ist die JPA Generierung falsch ... ich weiß nicht so recht weiter..
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..