首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> J2EE

JPA 2.0 四大新特性詳解(二):JPQL 增強與新運算子

     編輯:J2EE

JPQL 功能大幅擴充,支援 CASE、NULLIF、COALESCE 等

JPA 2.0 對 Java Persistence Query Language (JPQL) 做大量改進,現支援 CASE 條件運算式,可在更新薪資時依評級給予不同調幅:

UPDATE Employee e
SET e.salary = CASE
    WHEN e.rating = 1 THEN e.salary * 1.1
    WHEN e.rating = 2 THEN e.salary * 1.05
    ELSE e.salary * 1.01
END

新增運算子

  • NULLIF:將特定值轉為 NULL,如將 -99999 轉為 NULL 以正確計算平均薪資:SELECT AVG(NULLIF(e.salary, -99999)) FROM Employee e
  • COALESCE:回傳參數列表中第一個非 NULL 值,等價於巢狀 CASE。範例:SELECT Name, COALESCE(e.work_phone, e.home_phone) phone FROM Employee e
  • INDEX、TYPE、KEY、VALUE、ENTRY:支援排序、實體類型限制、Map 鍵值對操作

其他增強

支援選擇列表、集合值參數、非多態查詢中的運算子等,進一步豐富 JPQL 表達能力。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved