Esta regla detecta las referencias al lenguaje de consulta de WebLogic. Las referencias de lenguaje de consulta de WebLogic deben revisarse y convertirse adecuadamente para su uso en WebSphere tradicional y Liberty.
El elemento <weblogic-ql> especifica una consulta que contiene una extensión específica de WebLogic en el lenguaje de consulta EJB 2.0 (EJB-QL). Las características del lenguaje EJB-QL estándar se utilizan en el descriptor de despliegue ejb-jar.xml y las extensiones EJB-QL de WebLogic se utilizan en el archivo weblogic-cmp-rdbms-jar.xml. Las funciones agregadas, de ordenación y subconsulta se utilizan normalmente en las consultas, pero como pueden utilizarse también otras extensiones, inspeccione siempre atentamente todos los elementos <weblogic-ql>.
WebSphere Application Server también amplía las características del lenguaje EJB-QL pero, en lugar de definir un QL aparte, proporciona funciones agregadas, de ordenación y subconsulta a la sintaxis de EJB-QL. WebSphere Application Server amplía la sintaxis de EJB-QL para incluir estas extensiones. Por lo tanto, puede utilizar EJB-QL más sus extensiones en el elemento <ejb-ql> estándar en el archivo ejb-jar.xml.
Correlación de ordenaciónLa extensión de WebLogic QL de ordenación es una palabra clave que trabaja con el método Finder para especificar el orden de los resultados que se devuelven a partir de las selecciones. También puede ordenar por varios campos y especificar si desea devolver los resultados en orden ascendente o descendente.
<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>
Correlación de funciones agregada y de subconsulta
La extensión de WebLogic QL de subconsulta permite incorporar una consulta en la cláusula WHERE de la consulta principal para devolver datos para su uso en la consulta principal como condición para restringir aún más los datos que se van a recuperar. La extensión de WebLogic QL MAX devuelve el valor máximo del campo especificado. Este ejemplo muestra una función agregada y de subconsulta y su correlación con 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>
Encontrará más información sobre EJB-QL en este tema: