Această regulă detectează referinţe la WebLogic Query Language. Referinţele WebLogic Query Language trebuie examinate şi convertite corespunzător pentru utilizarea pe WebSphere tradiţional şi Liberty.
Elementul <weblogic-ql> specifică o interogare care conţine o extensie specifică WebLogic la EJB 2.0 Query Language (EJB-QL). Caracteristicile limbajului EJB-QL standard sunt folosite în descriptorul de implementare ejb-jar.xml, iar extensiile WebLogic EJB-QL sunt folosite în fişierul weblogic-cmp-rdbms-jar.xml. Ordonarea, funcţiile de agregare şi subinterogările sunt utilizate des în interogări, dar deoarece pot fi folosite şi alte extensii, inspectaţi întotdeauna cu atenţie toate elementele <weblogic-ql>.
WebSphere Application Server extinde şi el caracteristicile limbajului EJB-QL, dar în loc să definească un QL separat, WebSphere Application Server furnizează ordonarea, subinterogările şi funcţiile de agregare la sintaxa EJB-QL. WebSphere Application Server extinde sintaxa EJB-QL pentru a include aceste extensii. Prin urmare, puteţi utiliza EJB-QL plus extensiile sale în elementul <ejb-ql> standard în fişierul ejb-jar.xml.
Mapare orderbyExtensia WebLogic QL, orderby, este un cuvânt cheie care lucrează cu metoda Finder pentru a specifica ordinea rezultatelor returnate din selecţiile dumneavoastră. Puteţi ordona şi după mai multe câmpuri şi puteţi specifica returnarea rezultaatelor în ordine crescătoare sau descrescătoare.
<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>
Mapare subinterogări şi funcţii de agregare
Extensia WebLogic QL, subquery, permite unei interogări să fie înglobată într-o clauză WHERE a interogării principale pentru a returna date în interogarea principală ca o condiţie pentru a restricţiona mai mult datele de extras. Extensia WebLogic QL, MAX, returnează valoarea maximă pentru câmpul specificat. Acest exemplu arată o subinterogare şi funcţie de agregare, precum şi mapările la 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>
Informaţii suplimentare despre EJB-QL sunt disponibile în acest subiect: