談談JPA 04 JPA的常用API

2021-08-10 22:05:30 字數 1016 閱讀 1977

persistence

entitymanage***ctory

entitymanager

remove (object entity):刪除例項。如果例項是被管理的,即與資料庫實體記錄關聯,則同時會刪除關聯的資料庫記錄。

merge (t entity):merge() 用於處理 entity 的同步。即資料庫的插入和更新操作

flush ():同步持久上下文環境,即將持久上下文環境的所有未儲存實體的狀態資訊儲存到資料庫中。

setflushmode (flushmodetype flushmode):設定持久上下文環境的flush模式。引數可以取2個列舉

getflushmode ():獲取持久上下文環境的flush模式。返回flushmodetype類的列舉值。

refresh (object entity):用資料庫實體記錄的值更新實體物件的狀態,即更新例項的屬性值。

clear ():清除持久上下文環境,斷開所有關聯的實體。如果這時還有未提交的更新則會被撤消。

contains (object entity):判斷乙個例項是否屬於當前持久上下文環境管理的實體。

isopen ():判斷當前的實體管理器是否是開啟狀態。

gettransaction ():返回資源層的事務物件。entitytransaction例項可以用於開始和提交多個事務。

close ():關閉實體管理器。之後若呼叫實體管理器例項的方法或其派生的查詢物件的方法都將丟擲 illegalstateexception 異常,除了gettransaction 和 isopen方法(返回 false)。不過,當與實體管理器關聯的事務處於活動狀態時,呼叫 close 方法後持久上下文將仍處於被管理狀態,直到事務完成。

jpql使用的api

entitytransaction

commit ()

rollback ()

setrollbackonly ()

getrollbackonly ()

isactive ()

jpa 跨表 JPA的多表複雜查詢

最近工作中由於要求只能用hibernate jpa 與資料庫進行互動,在簡單查詢中,jpa繼承crudrepository介面 然後利用jpa的方法命名規範進行jpql查詢,然而在進行複雜查詢時,需要繼承jpaspecificationexecutor介面 利用specification 進行複雜查...

jpa 動態sql拼接 JPA的動態查詢拼接

在使用spring jpa提供的方法只能進行簡單的crud,如果遇到複雜的情況就需要我們動態來構建查詢條件了。這裡我們來看使用criteriabuilder如何來構造查詢。核心 criteriabuilder criteriabuilder entitymanager.getcriteriabuil...

JPA實體類中的常用註解

entity entity標記在類名上面,作為實體類的標識 table 當實體類與其對映的資料庫表名不同名時需要使用 table 標註說明,該標註與 entity 標註並列使用,置於實體類宣告語句之前,可寫於單獨語句行,也可與宣告語句同行。table 標註的常用選項是 name,用於指明資料庫的表名...