Não usar as construções de EJB Query Language do WebLogic

Essa regra detecta referências à Linguagem de Consulta do WebLogic. As referências à Linguagem de Consulta do WebLogic precisam ser revisadas e convertidas adequadamente para uso no WebSphere tradicional e no Liberty.

O elemento <weblogic-ql> especifica uma consulta que contém uma extensão específica do WebLogic para a EJB 2.0 Query Language (EJB-QL). Os recursos da linguagem EJB-QL padrão são usados no descritor de implementação ejb-jar.xml e as extensões EJB-QL do WebLogic são utilizadas no arquivo weblogic-cmp-rdbms-jar.xml. A ordenação, as funções agregadas e as subconsultas são normalmente utilizadas em consultas, mas como outras extensões também podem ser usadas, inspecione sempre com cuidado todos os elementos <weblogic-ql>.

O WebSphere Application Server também estende os recursos da linguagem EJB-QL, mas em vez de definir uma QL separada, o WebSphere Application Server fornece ordenação, subconsultas e funções agregadas para a sintaxe EJB-QL. O WebSphere Application Server estende a sintaxe da EJB-QL para incluir essas extensões. Assim, é possível utilizar o EJB-QL além de suas extensões no elemento <ejb-ql> padrão no arquivo ejb-jar.xml.

Mapeando orderby

A extensão da QL orderby do WebLogic é uma palavra-chave que funciona com o método Finder para especificar a ordem dos resultados que são retornados a partir de suas seleções. Também é possível ordenar por vários campos e especificar se os resultados devem ser retornados em ordem crescente ou decrescente.

Mapeamento de subconsulta e funções agregadas

A extensão da QL de subconsulta do WebLogic permite que uma consulta seja integrada na cláusula WHERE da consulta principal para retornar dados para utilização na consulta principal como uma condição para restringir ainda mais os dados a serem recuperados. A extensão da QL do MAX do WebLogic retorna o valor máximo do campo especificado. Esse exemplo mostra uma subconsulta e uma função agregada e seu mapeamento no WebSphere Application Server:

Mais informações sobre o EJB-QL estão disponíveis neste tópico: