1. 程式人生 > >JPA之JPQL(一)

JPA之JPQL(一)

JPA之JPQL(一)

JPQL語言的語句可以是select語句、update語句或delete語句
他們都是通過Query介面封裝執行的

Query介面封裝了執行資料庫查詢的相關方法。呼叫createQuerycreateNamedQuerycreateNativeQuery方法可以獲得查詢物件,進而可呼叫Query介面的相關方法來執行查詢操作。

Query介面的主要方法:

int executeUpdate() 用於執行update或update語句。
List getResult() 用於執行只返回單個結果的實體集實體列表。
Object getStringRuselt()

: 用於執行只返回單個結果的實體的的select語句。
Query setFirstResult(int starPosition) 用於設定從哪個實體記錄開始返回查詢結果。
Query setMaxResult(int maxResult) 用於設定放回結果的最大數。與setFirstResult結合可實現分頁查詢。
Query setFlushMode(FlushModeType
flushMode)
設定查詢物件的Flush模式。引數可以去2個列舉值:FlushMoseType.AUTO為自動更新資料庫記錄,FlushMode Type.COMMIT 為指導提交事務是才更新資料庫記錄。

createQuery

1. 查詢物件

在這裡插入圖片描述

注意
在jpql中,如果是查詢結果是物件,那麼from關鍵字後面跟類名,如果查詢結果是一個欄位,那麼要使用表名

2. 查詢部分屬性:

在這裡插入圖片描述

預設情況下,如果只查詢部分屬性,則返回Object[ ] 型別的結果,或者Object[] 型別的List

如果希望返回的是物件,可以在實體類中建立對應的構造器
在JPQL語句中,利用構造器返回實體類的物件

createNamedQuery

在這裡插入圖片描述
適用於實體類前適用@NamedQuery標記的查詢語句
在這裡插入圖片描述

createNativeQuery

在這裡插入圖片描述