Questa regola rileva i riferimenti a WebLogic Query Language. I riferimenti di linguaggio di WebLogic Query devono essere revisionati e convertiti in modo appropriato per l'utilizzo su WebSphere traditional e Liberty.
L'elemento <weblogic-ql> specifica una query che contiene un'estensione specifica di WebLogic a EJB 2.0 Query Language (EJB-QL). Le funzioni del linguaggio EJB-QL standard vengono utilizzate nel descrittore di distribuzione ejb-jar.xml e le estensioni EJB-QL WebLogic vengono utilizzate nel file weblogic-cmp-rdbms-jar.xml. Le funzioni di ordinamento, aggregazione e le sottoquery sono generalmente utilizzate nelle query, ma poiché potrebbero essere utilizzare anche altre estensioni, esaminare attentamente tutti gli elementi <weblogic-ql>.
WebSphere Application Server estende anche le funzioni del linguaggio EJB-QL, ma invece di definire un QL separato, WebSphere Application Server fornisce funzioni di aggregazione, ordinamento e sottoquery alla sintassi EJB-QL. WebSphere Application Server estende la sintassi di EJB-QL per includere tali estensioni. Pertanto, è possibile utilizzare EJB-QL con le relative estensioni nell'elemento <ejb-ql> standard nel file ejb-jar.xml.
Associazione orderbyL'estensione WebLogic QL orderby è una parola chiave che funziona con il metodo Finder per specificare l'ordine dei risultati restituiti dalle selezioni. È anche possibile ordinare per più campi e specificare se restituire i risultati in ordine crescente o decrescente.
<weblogic-ql>select object(o) from MeetingAutoservice o where o.idInternAutoservice = ?1 orderby o.numberMeeting</weblogic-ql>
<ejb-ql>select object(o) from MeetingAutoservice o where o.idInternAutoservice = ?1 order by o.numberMeeting</ejb-ql>
Associazione delle funzioni di sottoquery e aggregazione
L'estensione WebLogic QL della sottoquery consente di integrare una query nella clausola WHERE della query principale per restituire dati da utilizzare nella query principale come condizione per limitare ulteriormente i dati da richiamare. L'estensione WebLogic QL MAX restituisce il valore massimo del campo specificato. Questo esempio mostra una funzione di sottoquery e aggregazione e la relativa associazione a WebSphere Application Server:
<weblogic-ql>select OBJECT(o) from MeetingAutoservice o where o.idInternAutoservice=?1 AND o.meetingNumber = (select MAX(p.meetingNumber) from MeetingAutoservice p where p.idInternAutoservice = ?1)</weblogic-ql>
<ejb-ql>select OBJECT(o) from MeetingAutoservice o where o.idInternAutoservice=?1 AND o.meetingNumber = (select MAX(p.meetingNumber) from MeetingAutoservice p where p.idInternAutoservice = ?1)</ejb-ql>
Ulteriori informazioni su EJB-QL sono disponibili in questo argomento: