JPA之JPQL(一)
JPA之JPQL(一)
JPQL語言的語句可以是select語句、update語句或delete語句
他們都是通過Query介面封裝執行的
Query介面封裝了執行資料庫查詢的相關方法。呼叫createQuery、createNamedQuery、createNativeQuery方法可以獲得查詢物件,進而可呼叫Query介面的相關方法來執行查詢操作。
Query介面的主要方法:
int executeUpdate(): 用於執行update或update語句。
List getResult(): 用於執行只返回單個結果的實體集實體列表。
Object getStringRuselt()
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標記的查詢語句