Wie frage ich nur nach Superklassenentitäten in einer jpql-Abfrage?

8

Ich habe folgende Entitäten:

%Vor%

und

%Vor%

Ich kann alle Unterklassen (RecurringOrderEntity) mit dem folgenden jpql finden:

%Vor%

Was ist die JPQL-Syntax für die Suche nach nur -Einheiten, die nicht -Instanzen von RecurringOrderEntity sind?

Ich benutze Eclipselink 2.0.0 als JPA-Provider.

Danke!

    
Kyle Renfro 22.09.2010, 02:39
quelle

1 Antwort

19
  

Was ist die JPQL-Syntax, um nur Entitäten zu finden, die keine Instanzen von RecurringOrderEntity sind?

Verwenden Sie einen Entitätstypausdruck mit dem Operator TYPE . So etwas (nicht sicher über die genaue Abfrage, die Sie wollen, aber Sie bekommen die Idee):

%Vor%

Nachfolgend der relevante Abschnitt der JPA 2.0-Spezifikation:

  

4.6.17.4 Entitätstyp Ausdrücke

     

Ein Entitätstypausdruck kann verwendet werden   Einschränken des Abfragepolymorphismus Das   TYPE-Operator gibt den genauen Typ zurück   des Arguments.

     

Die Syntax eines Entitätstyps   Ausdruck ist wie folgt:

%Vor%      

Ein entity_type_literal ist   bezeichnet mit dem Namen der Entität.

     

Die Java-Klasse der Entität wird verwendet   als Eingabeparameter zum Angeben der   Entitätstyp.

     

Beispiele:

%Vor%
    
Pascal Thivent 22.09.2010, 05:25
quelle

Tags und Links