Pfadausdrücke

Ein Pfadausdruck ist eine Identifikationsvariable gefolgt vom Navigationsoperator ( . ) und der Angabe einer CMP oder einer Beziehung.

Ein Pfadausdruck, der zu einem CMR-Feld führt, kann weiter navigiert werden, wenn das CMR-Feld einwertig ist. Wenn der Pfadausdruck auf eine mehrwertige Beziehung führt, ist er endgültig und kann nicht weiter navigiert werden. Wenn der Pfadausdruck zu einem CMP-Feld führt, dessen Typ ein Wertobjekt ist, kann auf die Attribute des Wertobjekts weiter navigiert werden.

Beispiel: Wertobjekt

Angenommen, adresse ist ein CMP-Feld für EmpBean, das ein Werteobjekt ist.
SELECT  object(e)  FROM EmpBean e
WHERE  e.adresse.fern('San Jose') < 10  and e.adresse.plz = 95037

Wenn Sie nach Wertattributen suchen möchten, verwenden Sie am besten das Composer-Pattern, um Wertobjektattribute zu relationalen Spalten zuzuordnen. Wenn Sie Wertobjekte in serialisiertem Format speichern, muss jedes Wertobjekt von der Datenbank abgerufen und entserialisiert werden. Wertobjektmethoden funktionieren nur in dynamischen Abfragen.

Ein Pfadausdruck kann auch auf eine Bean-Methode navigieren. Die Methode muss entweder in der fernen oder lokalen Bean-Schnittstelle definiert sein. Methoden können nur in dynamischen Abfragen verwendet werden. Es ist nicht möglich, ferne und lokale Methoden in einer einzigen Abfrageanweisung gemeinsam zu verwenden.

Wenn die Abfrage ferne Methoden enthält, muss die dynamische Abfrage über die Schnittstelle für ferne Abfragen ausgeführt werden. Bei der Verwendung der Schnittstelle für ferne Abfragen aktiviert der Abfrageservice Beans und erzeugt Instanzen der fernen Bean-Schnittstelle.

Ebenso muss eine Abfrageanweisung mit lokalen Bean-Methoden über die Schnittstelle für lokale Abfragen ausgeführt werden. Dabei aktiviert der Abfrageservice Beans und erzeugt Instanzen der lokalen Schnittstelle.

Verwenden Sie für den Zugriff auf CMP- und CMR-Felder einer Bean keine Getter-Methoden.

Wenn eine Methode überlastete Definitionen hat, müssen die überlasteten Methoden eine unterschiedliche Anzahl Parameter haben.

Die Methoden benötigen gültige Rückgabetypen und Methodenargumente, und die Rückgabetypen müssen entweder einfache Typen sein wie byte, short, int, long, float, double, boolean, char, oder Wrapper-Typen gemäß der folgenden Liste:

Byte, Short, Integer, Long, Float, Double, BigDecimal, String, Boolean, Character, java.util.Calendar, java.sql.Date, java.sql.Time, java.sql.Timestamp, java.util.Date

Wenn ein Eingabeargument einer Methode NULL ist, wird angenommen, dass die Methode einen NULL-Wert zurückgibt, und die Methode wird nicht aufgerufen.

Ein Pfadausdruck mit Collection-Wert kann in der FROM-Klausel als Collection-Member-Deklaration verwendet werden. Auch eine Verwendung mit den Prädikaten IS EMPTY, MEMBER OF und EXISTS in der WHERE-Klausel ist möglich.

Tabelle 1. Verwendung der FROM-Klausel. In der folgenden Tabelle sind drei gültige Verwendungen und eine ungültige Verwendung der FROM-Klausel aufgelistet.
Syntax der FROM-Klausel Gültigkeitsanweisung
FROM EmpBean e WHERE e.dept.mgr.name='Bob'
OK
FROM EmpBean e WHERE e.dept.emps.name='BOB'
UNGÜLTIG -- nicht navigierbar über emps, da mehrwertig
FROM EmpBean e,  IN (e.dept.emps) e1
WHERE e1.name='BOB'
OK
FROM EmpBean e WHERE e.dept.emps IS EMPTY
OK

Symbol, das den Typ des Artikels anzeigt. Konzeptartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=cque_path
Dateiname:cque_path.html