Ich verwende Toplink Essentials (JPA) + v3 + NetBean Glassfish 6.9Wie schreibe ich JPQL SELECT mit eingebetteter ID?
Ich habe einen Tisch mit zusammengesetzten Primärschlüssel:
table (machine)
----------------
|PK machineId |
|PK workId |
| |
|______________|
I eine 2 Entitätsklassen erstellt selbst für Einheit und die zweite ist PK Klasse.
public class Machine {
@EmbeddedId
protected MachinePK machinePK;
//getter setters of fields..
}
public class MachinePK {
@Column(name = "machineId")
private String machineId;
@Column(name = "workId")
private String workId;
}
Jetzt .. Wie schreibe ich SELECT-Klausel mit JPQL mit WHERE ???
Dies schlägt fehl.
SELECT m FROM Machine m WHERE m.machineId = 10
http://www.mail-archive.com/[email protected]/msg03073.html
Laut der Webseite hinzufügen "val"? Nein, es scheitert auch.
SELECT m FROM Machine m WHERE m.machineId.val = 10
In beiden Fällen ist der Fehler:
Exception Description: Error compiling the query
[SELECT m FROM Machine m WHERE m.machineId.val = 10],
line 1, column 30: unknown state or association field
[MachineId] of class [entity.Machine].
Danke! es funktioniert: D –
@ Masato-San: Gern geschehen. –
Wie konvertiert man das zu JPA-Kriterien? –