免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
hibernate 查詢?nèi)繑?shù)據(jù) 三種方法

1、Query對(duì)象

使用Query對(duì)象需要寫hql語句,使用hql語句操作的是實(shí)體類和屬性。
用于查詢?nèi)康膆ql語句:from 實(shí)體類名稱
 
例:String hql = "from UsersEntity";//準(zhǔn)備hql語句
        Query query = session.createQuery(hql);//創(chuàng)建Query對(duì)象
        List<UsersEntity> usersEntitys = query.list();//調(diào)用Query方法進(jìn)行查詢
 

2、Criteria對(duì)象

使用這個(gè)對(duì)象查詢?nèi)繑?shù)據(jù),不需要寫語句,直接調(diào)用方法實(shí)現(xiàn)即可
 
例:Criteria criteria=session.createCriteria(UsersEntity.class);//創(chuàng)建Criteria對(duì)象,此方法需要給出實(shí)體類名稱
        List<UsersEntity> usersEntitys=criteria.list();//調(diào)用Criteria方法進(jìn)行查詢
 
 

3、SQLQuery對(duì)象

使用這個(gè)對(duì)象查詢?nèi)繑?shù)據(jù),需要寫底層sql。
 
例:SQLQuery sqlQuery=session.createSQLQuery("select * from users");//創(chuàng)建SQLQuery對(duì)象,需要傳入底層sql語句
        sqlQuery.addEntity(UsersEntity.class);//返回的list是數(shù)組,需要將其轉(zhuǎn)換成實(shí)體類對(duì)象
        List<UsersEntity> usersEntitys=sqlQuery.list();//調(diào)用方法進(jìn)行查詢
 

flush-強(qiáng)制提交刷新session

clear--清除session

evict(Obj)將對(duì)象實(shí)例從session緩存清除

session.flush() 不是必須調(diào)用的

session.close()是必須調(diào)用的

session.clear()寫在flush后面

解釋session.flush()的調(diào)用牽扯到事務(wù),首先我們知道在執(zhí)行事務(wù)之前都會(huì)將AutoCommit設(shè)置為false【手動(dòng)提交方式,因?yàn)槟J(rèn)是true自動(dòng)提交的】 當(dāng)AutoCommit為false時(shí) 我們執(zhí)行完事務(wù)就要調(diào)用到session.flush();session.clear();一切處理完后我們要close掉當(dāng)前的這個(gè)session但是當(dāng)我們不做事務(wù)操作的時(shí)候 我們就沒必要去調(diào)用session.flush()和session.clear()。直接session.close()就OK 因?yàn)檫@時(shí)close會(huì)默認(rèn)調(diào)用一次session.flush()。如果使用了ThreadLocal那么就要在close方法里處理一下ThreadLocal。session.flush()的作用是將數(shù)據(jù)庫(kù)與緩存中的數(shù)據(jù)同步 當(dāng)session.clear()后才會(huì)引起緩存數(shù)據(jù)變化
 

方式一:基于實(shí)體類屬性

對(duì)于實(shí)體的PO類,有2個(gè)要求:

1,必須繼承Serializable接口

2,必須重寫equals()方法和hashcode()方法(個(gè)人認(rèn)為不是必須重寫,只要其默認(rèn)hascode能唯一的確定任何一個(gè)Person類即可,當(dāng)然使用聯(lián)合主鍵字段firstname和lastname重寫equals()方法和hashcode()方法后,即可通過firstname和lastname唯一確定一個(gè)Person類,更符合數(shù)據(jù)庫(kù)中firstname和lastname做為聯(lián)合主鍵的設(shè)計(jì))

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Hibernate學(xué)習(xí)筆記1
五、hibernate的Session操作, 查詢過濾, 緩存利用, 批量處理
Hibernate Shards 數(shù)據(jù)的水平、垂直切割(三)- Hibernate Shards結(jié)構(gòu)
Hibernate API、對(duì)象狀態(tài)、HQL、Criteria - 天黑博客 - ITey...
Java程序員從笨鳥到菜鳥之(六十四)細(xì)談Hibernate(十五)HQL與QBC查詢方式詳解
HQL(Hibernate Query Language)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服