Betrachten Sie das folgende Schema:JPA Vererbungs query (Eklipse-Link)
public class A {
@Id
int id;
String fieldA;
}
public class B extends A {
String fieldB;
}
public class C extends A {
String fieldC;
}
Wie kann ich A
so abfragen alle die C
‚s zu bekommen und erhalten nur die B
's wo fieldB="someValue"
?
habe ich versucht, treat zu verwenden, um gesenkten zu machen, aber es scheint, dass die Filter auf B
auf alle der übergeordnete Klasse arbeiten (A
).
Ist eine solche Abfrage in erster Linie möglich?
Sie sollten OR anstelle von UND für die Existierungsklausel verwenden. – Chris
Danke Chris, dummer Fehler von mir. Behoben! –
Ja, ich habe dieses Problem mit Similer Ansatz gelöst, aber gibt es einen Build-in-Befehl, um es zu lösen. eigentlich habe ich 5 Klasse erben die Hauptklasse und ich mache 2 - 3 Filter in jeder Unterklasse. mit oder mit dem Typ führen mich zu einer Monster-Abfrage (das wird die Leistung sicher beeinflussen) –