不要使用 WebLogic 專用 EJB 查詢語言建構

此規則會偵測「WebLogic 查詢語言」的參照。 「WebLogic 查詢語言」參照需要復查和適當地轉換,才能在 WebSphere Traditional 及 Liberty 上使用。

<weblogic-ql> 元素會指定包含「EJB 2.0 查詢語言 (EJB-QL)」之 WebLogic 專用延伸的查詢。 標準 EJB-QL 語言特性用於 ejb-jar.xml 部署描述子,而 WebLogic EJB-QL 延伸用於 weblogic-cmp-rdbms-jar.xml 檔。 排序、聚集函數和子查詢通常用於查詢,但由於也可以使用其他延伸,所以請一律仔細檢查所有 <weblogic-ql> 元素。

WebSphere Application Server 還會延伸 EJB-QL 語言特性,但 WebSphere Application Server 不會定義個別 QL,而會向 EJB-QL 語法提供排序、子查詢和聚集函數。 WebSphere Application Server 延伸 EJB-QL 的語法,以包括這些延伸。 因此,可以在 ejb-jar.xml 檔中的標準 <ejb-ql> 元素內,使用 EJB-QL 及其延伸。

對映排序方式

排序方式 WebLogic QL 延伸是關鍵字,與「搜尋器」方法一起使用,以指定根據所做選擇傳回之結果的順序。 也可以依照多個欄位進行排序,並指定是採用遞增順序還是遞減順序傳回結果。

對映子查詢和聚集函數

子查詢 WebLogic QL 延伸可讓查詢內嵌在主查詢的 WHERE 子句中,以傳回資料,該資料可作為條件用於主查詢中,從而進一步限制要擷取的資料。 上限 WebLogic QL 延伸會傳回指定欄位的上限值。 此範例顯示子查詢和聚集函數,及其與 WebSphere Application Server 的對映:

以下主題中提供 EJB-QL 的相關資訊: