Nie używaj konstrukcji języka zapytań EJB specyficznych dla produktu WebLogic

Ta reguła wykrywa odwołania do języka zapytań produktu WebLogic. Należy przejrzeć wszystkie odwołania do języka zapytań produktu WebLogic i odpowiednio przekształcić pod kątem użycia w tradycyjnym serwerze WebSphere i serwerze Liberty.

Element <weblogic-ql> określa zapytanie, które zawiera specyficzne dla produktu WebLogic rozszerzenie języka EJB 2.0 Query Language (EJB-QL). Standardowe funkcje języka EJB-QL są używane w deskryptorze wdrażania ejb-jar.xml, a rozszerzenia języka EJB-QL produktu WebLogic są używane w pliku weblogic-cmp-rdbms-jar.xml. Funkcje porządkowania, agregujące i podzapytania są zwykle używane w zapytaniach, ale ponieważ mogą być także używane inne rozszerzenia, zawsze należy uważnie sprawdzić wszystkie elementy <weblogic-ql>.

Serwer WebSphere Application Server także rozszerza funkcje języka EJB-QL, ale zamiast definiować oddzielny język zapytań serwer ten udostępnia funkcje porządkowania, podzapytań i agregujące ze składnią języka EJB-QL. Serwer WebSphere Application Server rozszerza składnię języka EJB-QL, aby uwzględnić te rozszerzenia. Oznacza to, że można używać języka EJB-QL i jego rozszerzeń w standardowym elemencie <ejb-ql> w pliku ejb-jar.xml.

Odwzorowanie słowa kluczowego orderby

Rozszerzenie orderby języka zapytań produktu WebLogic jest słowem kluczowym, które współpracuje z metodą Finder w celu określenia porządku wyników zwracanych z dokonanych wyborów. Istnieje także możliwość porządkowania według wielu pól i określenia porządku zwracanych wyników (rosnący lub malejący).

Odwzorowanie podzapytań i funkcji agregujących

Rozszerzenie podzapytania języka zapytań produktu WebLogic umożliwia osadzenie zapytania w klauzuli WHERE głównego zapytania. W ten sposób zwracane dane mogą zostać użyte w głównym zapytaniu jako warunek bardziej szczegółowo ograniczający dane do pobrania. Rozszerzenie MAX języka zapytań produktu WebLogic zwraca maksymalną wartość określonego pola. Ten przykład przedstawia podzapytanie oraz funkcję agregującą i jej odwzorowanie na potrzeby produktu WebSphere Application Server:

Więcej informacji na temat EJB-QL można znaleźć w następującym temacie: