亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

hibernate 常用方法介紹

 更新時間:2013年09月22日 15:05:44   作者:  
這篇文章介紹了hibernate的常用方法,有需要的朋友可以參考一下
一、hibetnateTemplate常用方法

1、delete(Object entity) 刪除指定的持久化實例
在程序中一般先用    Assert.notNull和 Assert.isTrue斷言entity是否為空 和 entity的id是否大于0若
否則事務回滾。再用get(Class entityClass,Serializable id,LockMode lockMode)加鎖查詢出持久
化實例,一般用lockMode.update悲觀鎖,最后用delete(Object entity)來刪除此實例。

2、deleteAll(Collection entities) 刪除集合內全部持久化實例
entities必須為持久化實例,否則報數(shù)據(jù)庫異常錯誤。

3、find(String queryString) 根據(jù)HQL查詢字符串來返回實例集合
find方法在執(zhí)行時會先查找緩存,如果緩存找不到再查找數(shù)據(jù)庫,如果再找不到就會返回null。

4、get(Class entityClass,Serializable id)根據(jù)主鍵加載特定持久化實例
在程序中一般先用     Assert.isTrue斷言id是否大于0,若大于0繼續(xù)執(zhí)行,若查到數(shù)據(jù)則返回實例,否則返回空
不同于load,load若有數(shù)據(jù)則返回實例,否則報出ObjectNotFoundEcception異常,相比來說get效率高些

5、save(Object entity) 保存新的實例
在程序中一般先用    Assert.notNull斷言實體是否為空,在進行保存。

6、saveOrUpdate(Object entity)根據(jù)實例的狀態(tài)選擇保存或者是更新
此方法同時包含了save與update方法的功能,如果傳入的參數(shù)是臨時對象vo 沒有id,就調用save方法;如果傳
入的參數(shù)是游離對象有id,就調用update()方法;如果傳入的參數(shù)是持久化對象po,就直接返回。

7、update(Object entity) 更新實例的狀態(tài) 實例必須為持久化狀態(tài)
在程序中一般先用    Assert.notNull和 Assert.isTrue斷言entity是否為空 和 entity的id是否大于0,
然后在更新實例,entity必須含有id否則不能更新。

8、Object execute(hibetnateCallback action)是HibernateCallback接口類。
當dao中的方法不能滿足程序需要時可以考慮用此方法。如:根據(jù)幾個不同參數(shù)需要返回唯一實體時用uniqueResult()返回。
HibernateCallback里面定義了一個doInHibernate的方法,這個方法是可變的。如果要查找數(shù)據(jù)方法應該就
是:session.load()。刪除數(shù)據(jù)就是session.delete().這樣的話查詢數(shù)據(jù)庫的方法用execute方法。

 
9、bulkUpdate()通過語句直接增加、更新、刪除實體
一般有bulkUpdate(String sqlString) 和 bulkUpdate(String sqlString,Object[] object)兩個
方法,返回增加,更新,或者刪除的數(shù)量一般用于批量。
 
10、hibernate主鍵生成策略
 
(1)Assigned: 在插入數(shù)據(jù)的時候主鍵由用戶自己添加。如:<generator class="assigned"/>
(2)sequence: 調用數(shù)據(jù)庫的sequence來生成主鍵,要設定序列名,否則hibernate無法找到。
如:<param   name="sequence">ENTTY_NAME_SEQ</param>
(3)increment 插入數(shù)據(jù)的時候hibernate會給主鍵添加一個自增的主鍵,但是一個hibernate實例就維護一個計數(shù)器,
所以在多個實例運行的時候不能使用這個方法。

11、實體對象的三種狀態(tài)
Session的生命周期綁定在一個物理的事務(tansaction)上面。
Session的主要功能是提供對映射的實體類實例的創(chuàng)建,讀取和刪除操作
(1)自由狀態(tài)(transient): 不曾進行持久化,未與任何Session相關聯(lián)
(2)持久化狀態(tài)(persistent): 僅與一個Session相關聯(lián)
持久化實例可以通過調用 delete()變成游離狀態(tài)。通過get()或load()方法得到的實例都是持久化狀態(tài)的
(3)游離狀態(tài)(detached): 已經(jīng)進行過持久化,但當前未與任何Session相關聯(lián)
游離狀態(tài)的實例可以通過調用update(),lock(),replicate(),save(),persist()或者saveOrUpdate()方法進行持久化

相關文章

  • Springboot+Vue+shiro實現(xiàn)前后端分離、權限控制的示例代碼

    Springboot+Vue+shiro實現(xiàn)前后端分離、權限控制的示例代碼

    這篇文章主要介紹了Springboot+Vue+shiro實現(xiàn)前后端分離、權限控制的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • idea導入配置Spring?Boot項目的詳細步驟教程

    idea導入配置Spring?Boot項目的詳細步驟教程

    這篇文章主要給大家介紹了關于idea導入配置Spring?Boot項目的詳細步驟,在項目開發(fā)過程中,無論是導入運行團隊開發(fā)的項目,還是一些開源項目,還是其他的項目,想要在IDEA中完整的運行起來總有很多坑,需要的朋友可以參考下
    2023-08-08
  • HTTPClient如何在Springboot中封裝工具類

    HTTPClient如何在Springboot中封裝工具類

    這篇文章主要介紹了HTTPClient如何在Springboot中封裝工具類問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Springboot如何使用Aspectj實現(xiàn)AOP面向切面編程

    Springboot如何使用Aspectj實現(xiàn)AOP面向切面編程

    這篇文章主要介紹了Springboot如何使用Aspectj實現(xiàn)AOP面向切面編程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • java實現(xiàn)單機限流

    java實現(xiàn)單機限流

    這篇文章主要為大家詳細介紹了java實現(xiàn)單機限流,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • SpringCloud Ribbon負載均衡代碼實例

    SpringCloud Ribbon負載均衡代碼實例

    這篇文章主要介紹了SpringCloud Ribbon負載均衡代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-03-03
  • 基于Java實現(xiàn)獲取本地IP地址和主機名

    基于Java實現(xiàn)獲取本地IP地址和主機名

    這篇文章主要介紹了基于Java實現(xiàn)獲取本地IP地址和主機名,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-05-05
  • Java實現(xiàn)單例模式之餓漢式、懶漢式、枚舉式

    Java實現(xiàn)單例模式之餓漢式、懶漢式、枚舉式

    本篇文章主要介紹了Java實現(xiàn)單例的3種普遍的模式,餓漢式、懶漢式、枚舉式。具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2016-10-10
  • 全面解釋java中StringBuilder、StringBuffer、String類之間的關系

    全面解釋java中StringBuilder、StringBuffer、String類之間的關系

    String的值是不可變的,這就導致每次對String的操作都會生成新的String對象,不僅效率低下,而且大量浪費有限的內存空間,StringBuffer是可變類,和線程安全的字符串操作類,任何對它指向的字符串的操作都不會產(chǎn)生新的對象,StringBuffer和StringBuilder類功能基本相似
    2013-01-01
  • RxJava2 Scheduler使用實例深入解析

    RxJava2 Scheduler使用實例深入解析

    這篇文章主要為大家介紹了RxJava2 Scheduler使用實例深入解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10

最新評論