EntityManager常用方法簡介


首先簡單介紹一下Entity生命周期中的Managed,Detached,Removed三種狀態變化過程,如下圖所示:

1.entityManager.persist(Object entity);  新增數據;

如果entity的主鍵不為空,而數據庫沒有該主鍵,會拋出異常;

如果entity的主鍵不為空,而數據庫有該主鍵,且entity的其他字段與數據庫不同,persist后不會更新數據庫;

 

2.entityManager.find(Class<T> entityClass, Object primaryKey);  根據主鍵查找數據;

如果主鍵格式不正確,會拋出illegalArgumentException異常;

如果主鍵在數據庫未找到數據返回null;

 

3.entityManager.remove(Object entity);  刪除數據;

只能將Managed狀態的Entity實例刪除,由此Entity實例狀態變為Removed;

 

4.entityManager.merge(T entity);  

將 Detached狀態的Entity實例轉至Managed狀態;

 

5.entityManager.clear();

將所有的Entity實例狀態轉至Detached狀態;

 

6.entityManager.flush();

將所有Managed狀態的Entity實例同步到數據庫;

 

7.entityManager.refresh(Object entity);

加載Entity實例后,數據庫該條數據被修改,refresh該實例,能得到數據庫最新的修改,覆蓋原來的Entity實例;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM