欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁(yè) > 知識(shí)庫(kù) > jsp Hibernate 函數(shù)簡(jiǎn)介

jsp Hibernate 函數(shù)簡(jiǎn)介

熱門標(biāo)簽:淮南騰訊地圖標(biāo)注 黃石智能營(yíng)銷電銷機(jī)器人效果 開(kāi)封便宜外呼系統(tǒng)報(bào)價(jià) 地圖標(biāo)注人員兼職 電話機(jī)器人的特色和創(chuàng)新 騰訊地圖標(biāo)注商戶改名注冊(cè)入駐 怎樣把地圖標(biāo)注出來(lái) 商丘百應(yīng)電話機(jī)器人有沒(méi)有效果 漯河辦理400電話

1、Configuration/SessionFactory/Session
Configuration實(shí)例代表了一個(gè)應(yīng)用程序中Java類型 到SQL數(shù)據(jù)庫(kù)映射的完整集合. Configuration被用來(lái)構(gòu)建一個(gè)(不可變的 (immutable))SessionFactory.
SessionFactory是線程安全的,創(chuàng)建代價(jià)很高。
Session是非線程安全的,輕量級(jí)的。一個(gè)Session對(duì)應(yīng)一個(gè)JDBC連接,
Session的connection()會(huì)獲取Session與之對(duì)應(yīng)的數(shù)據(jù)庫(kù)連接Connection對(duì)象。
Session的功能就是操作對(duì)象的,這些對(duì)象和數(shù)據(jù)庫(kù)表有映射關(guān)系。
Session操作的對(duì)象是有狀態(tài)的,分三類:
自由狀態(tài)(transient): 未持久化,未與任何Session相關(guān)聯(lián),數(shù)據(jù)庫(kù)表中沒(méi)有對(duì)應(yīng)的記錄。
持久化狀態(tài)(persistent): 與一個(gè)Session相關(guān)聯(lián),對(duì)應(yīng)數(shù)據(jù)庫(kù)表中一條記錄。
游離狀態(tài)(detached): 已經(jīng)進(jìn)行過(guò)持久化,但當(dāng)前未與任何Session相關(guān)聯(lián),數(shù)據(jù)庫(kù)表中曾經(jīng)有一條記錄,現(xiàn)在還有沒(méi)有就不知道了。
游離狀態(tài)的實(shí)例可以通過(guò)調(diào)用save()、persist()或者saveOrUpdate()方法進(jìn)行持久化。持久化實(shí)例可以通過(guò)調(diào)用 delete()變成游離狀態(tài)。通過(guò)get()或load()方法得到的實(shí)例都是持久化狀態(tài)的。游離狀態(tài)的實(shí)例可以通過(guò)調(diào)用 update()、0saveOrUpdate()、lock()或者replicate()進(jìn)行持久化。游離或者自由狀態(tài)下的實(shí)例可以通過(guò)調(diào)用merge()方法成為一個(gè)新的持久化實(shí)例。
2、Session的save()/persist()/update()/saveOrUpdate()/merge()/delete()方法
save()方法將指定對(duì)象保存,插入表中一條數(shù)據(jù);
persist()方法將指定對(duì)象保存,插入表中一條數(shù)據(jù),我還沒(méi)發(fā)現(xiàn)它和save方法有什么特別之處。
replicate()方法完全使用給定對(duì)象各個(gè)屬性的值(包括標(biāo)識(shí)id)來(lái)持久化給定的游離狀態(tài)(Transient)的實(shí)體,很暴力啊,其中還需要指定存儲(chǔ)模式(有四種保存策略供選擇)。
update()方法將指定對(duì)象更新,更新表中一條數(shù)據(jù);
saveOrUpdate()方法接收一個(gè)實(shí)體對(duì)象,根據(jù)實(shí)體對(duì)象的id判斷是否已經(jīng)存在進(jìn)行保存或更新操作,這樣保存和更新方法就統(tǒng)一了;
merge()方法將給定的對(duì)象的狀態(tài)復(fù)制到具有相同標(biāo)識(shí)的持久化對(duì)象上。
delete()方法將指定對(duì)象刪除,刪除表中一條數(shù)據(jù);
特別注意:為了使用saveOrUpdate()方法,在由定義映射文件時(shí),通過(guò)設(shè)定id>標(biāo)簽的unsaved-value="null"來(lái)判斷執(zhí)行什么操作: 當(dāng)id屬性等于unsaved-value的值(在此為null)時(shí),則認(rèn)為還沒(méi)有保存,應(yīng)該執(zhí)行保存操作,否則執(zhí)行更新操作。這樣設(shè)定之后,可以使用saveOrUpdate()方法來(lái)統(tǒng)一保存和更新的方法。
id name="id" column="id" type="java.lang.Integer" unsaved-value="null">
generator class="native"/>
/id>
unsaved-value可以設(shè)定的值有四個(gè):
any:總是儲(chǔ)存
none:總是更新
null:id為null時(shí)儲(chǔ)存(預(yù)設(shè))
valid:id為null或是指定值時(shí)儲(chǔ)存
3、Session的get()/load()方法
get()方法會(huì)總是查詢實(shí)體對(duì)象,不存在時(shí)候返回null;
load()方法也是獲取一個(gè)實(shí)體對(duì)象,不存在時(shí)候拋空指針異常。
4、Session的clear()/evict()方法
clear()方法清除Session級(jí)別緩存中的所有實(shí)體(包括各種狀態(tài))對(duì)象,目的是釋放內(nèi)存。
evict()方法清除Session級(jí)別緩存中的指定的實(shí)體(包括各種狀態(tài))對(duì)象。
當(dāng)然,Session關(guān)閉后,這些緩存也就不存在了,會(huì)等待JVM回收。
5、Session的flush()方法
flush()強(qiáng)制持久化Session緩存中的實(shí)體對(duì)象。一般還會(huì)調(diào)用clear()或evict(),目的是趕緊保存,釋放寶貴內(nèi)存資源。
6、Session的commit()/rollback()方法
commit()方法用于提交Session上的事務(wù),否則工作單元不會(huì)對(duì)數(shù)據(jù)庫(kù)產(chǎn)生影響。如果執(zhí)行出現(xiàn)異常(也就是commit()失敗了),則之前的操作取消,執(zhí)行rollback()可撤消之前的操作。
7、Session的close()/isOpen()/isConnected()/reconnect()方法
close()方法關(guān)閉Session所對(duì)應(yīng)數(shù)據(jù)庫(kù)連接,與其相關(guān)聯(lián)的對(duì)象生命周期結(jié)束。
isOpen()方法檢查Session是否仍然打開(kāi),如果Session已經(jīng)斷開(kāi),則可以使用reconnect(Connection connection)來(lái)重新讓Session關(guān)聯(lián)一個(gè)JDBC連接。
isConnected()方法檢查當(dāng)前Session是否處于連接狀態(tài)。
8、Criteria、DetchedCriteria和Query接口
Criteria和Query的實(shí)例都是和Session綁定的,其生命周期跟隨著Session結(jié)束而結(jié)束。
DetchedCriteria實(shí)例相當(dāng)于一個(gè)SQL模板,目的是為了復(fù)用。其中的getExecutableCriteria(session)方法接收一個(gè)Session對(duì)象,并與之綁定,返回一個(gè)Criteria對(duì)象。
9、Hibernate類的initialize()方法
initialize()方法強(qiáng)制Hibernate立即加載指定實(shí)體所關(guān)聯(lián)的對(duì)象和集合。Hibernate類中還有其他幾個(gè)很有用但不適很常用的方法。
10、映射文件中的lazy屬性
在Hibernate3中,class元素的lazy屬性默認(rèn)是true,如果不需要,則需要顯示指定為lazy="false",否則,操作load返回的對(duì)象會(huì)拋異常。另外Hibernate3中還可以為實(shí)體屬性指定lazy屬性。
11、JDBC事務(wù)和JTA事務(wù)
Hibernate本身沒(méi)有事務(wù)管理功能,它依賴于JDBC或JTA的事務(wù)管理功能,在Hibernate配置文件中,如果不顯式指定Transaction的工廠類別屬性hibernate.transaction.factory_class的配置,則默認(rèn)為JDBC事務(wù):
property name="hibernate.transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory/property>。
在通過(guò)SessionFactory獲取到Session后,與Session相關(guān)聯(lián)的JDBC Connection實(shí)例就被設(shè)定為false。
特別注意:如果數(shù)據(jù)庫(kù)不支持事務(wù),比如MySQL的MyISAM引擎的表就不支持事務(wù),聲明事務(wù)也不會(huì)起作用。要使MySQL5的表支持事務(wù),則可以指定表的引擎類型為InnoDB。如果是學(xué)習(xí)或者研究,目前最好還是使用PostgreSQL 8.3或DB2、Oracle。
JDBC事務(wù)總是和一個(gè)數(shù)據(jù)庫(kù)連接(或一個(gè)Session)相關(guān)聯(lián)的。
JTA事務(wù)則可以跨越多個(gè)數(shù)據(jù)連接(或多個(gè)Session),這些連接還可以是不同數(shù)據(jù)庫(kù)的連接,JTA事務(wù)一般由容器進(jìn)行管理。編程只要在多個(gè)操作單元的開(kāi)始和結(jié)束定義JTA事務(wù)的邊界即可。
特別注意:如果使用了JTA事務(wù),則不能再用在JDBC式的事務(wù)來(lái)管理每個(gè)Session的操作,否則會(huì)出錯(cuò)。為了程序的的通用性,一般來(lái)說(shuō),都是使用JTA事務(wù)來(lái)構(gòu)建應(yīng)用,這使用任何環(huán)境。當(dāng)然,也可以使用事務(wù)代理為每個(gè)JDBC的操作方法加入事務(wù)控制。這樣也為程序以后移植到JTA容器事務(wù)上帶來(lái)很大方便。其實(shí)現(xiàn)在可以使用Spring的事務(wù)管理,與Hibernate結(jié)合的非常完美。


PS:persist()方法無(wú)返回值,save()方法返回對(duì)象標(biāo)識(shí)符。
persist()方法只能保存暫態(tài)和持久態(tài)的對(duì)象,save()方法能保存任何狀態(tài)對(duì)象。
共同點(diǎn):調(diào)用完方法后,對(duì)象的狀態(tài)都變成持久態(tài)。
get()方法返回對(duì)象的實(shí)例,而對(duì)于load()方法,如果在持久化上下文存在該標(biāo)識(shí)符的對(duì)象,就返回該對(duì)象的實(shí)例,否則返回對(duì)象的代理,該代理對(duì)象只含有對(duì)象標(biāo)識(shí)符。

使用get或load要小心
load可以提高緩存使用效率 但由于是代理 所以在后面操作會(huì)更容易出現(xiàn)問(wèn)題
get是直接訪問(wèn)db 所以cache的作用就沒(méi)了 但會(huì)馬上得到結(jié)果 麻煩少,但頻繁調(diào)用勢(shì)必對(duì)服務(wù)器壓力增加

您可能感興趣的文章:
  • JSP 開(kāi)發(fā)之hibernate的hql查詢多對(duì)多查詢
  • JSP 開(kāi)發(fā)之hibernate配置二級(jí)緩存的方法
  • JSP開(kāi)發(fā)中hibernate框架的常用檢索方式總結(jié)
  • JSP 中Hibernate實(shí)現(xiàn)映射枚舉類型
  • jsp Hibernate批量更新和批量刪除處理代碼
  • jsp Hibernate入門教程
  • jsp hibernate 數(shù)據(jù)保存操作的原理
  • jsp hibernate的分頁(yè)代碼
  • JSP開(kāi)發(fā)之hibernate之單向多對(duì)一關(guān)聯(lián)的實(shí)例

標(biāo)簽:馬鞍山 紅河 大興安嶺 武威 岳陽(yáng) 鄭州 亳州 拉薩

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《jsp Hibernate 函數(shù)簡(jiǎn)介》,本文關(guān)鍵詞  jsp,Hibernate,函數(shù),簡(jiǎn)介,jsp,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《jsp Hibernate 函數(shù)簡(jiǎn)介》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于jsp Hibernate 函數(shù)簡(jiǎn)介的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    国产女主播在线播放| 亚洲色图日韩精品| av中文字幕免费观看| 成人信息集中地| 欧美日本一道本| 久久综合色婷婷| 亚洲色图视频网站| 美女爽到高潮91| 不卡的电视剧免费网站有什么| 国产一区二区三区四区五区入口 | 美国毛片一区二区| 国产乱子伦一区二区三区国色天香| 麻豆一区二区99久久久久| 成人激情电影免费在线观看| 国产伦精品一区三区精东| 日本成人精品视频| 欧美高清激情brazzers| 日本一区二区三区在线观看| 午夜精品久久久久久久99水蜜桃| 肉色丝袜一区二区| 成人av电影观看| 国产又粗又猛又爽又黄av| 欧美色成人综合| 亚洲国产成人一区二区三区| 日韩精品一二三| 成人av网址在线| 亚洲三级在线免费观看| 开心九九激情九九欧美日韩精美视频电影| 免费成人在线视频观看| 99久久综合狠狠综合久久| 欧美午夜激情影院| 91麻豆精品国产91久久久久久 | www.欧美日韩| 日本污视频网站| 91精品国产高清一区二区三区| 欧美精品一区在线观看| 午夜精品影院在线观看| 99精品欧美一区| 99成人在线观看| 精品国产伦一区二区三区观看方式 | 日韩视频中午一区| 一区二区三区不卡在线观看| 懂色中文一区二区在线播放| 99久久久无码国产精品衣服| 91精品黄色片免费大全| 亚洲国产日产av| 成人av电影免费在线播放| 99热99这里只有精品| www日韩大片| 奇米四色…亚洲| 国产精品久久久免费观看| 欧美日韩在线三级| 亚洲精品综合在线| 99久久99久久精品免费观看| 中文字幕乱码av| 久久久久久久久一| 激情综合色播五月| 人人妻人人澡人人爽| 精品久久久久一区二区国产| 日韩电影一二三区| 国产视频久久久久久| 在线不卡的av| 日韩国产一二三区| 深田咏美中文字幕| 在线综合亚洲欧美在线视频| 香蕉成人啪国产精品视频综合网| 成人中文字幕合集| 特级片在线观看| 亚洲欧美日韩久久精品| 99久久er热在这里只有精品66| 一级黄色录像毛片| 国产日产欧美一区| 国产成人精品三级| 老湿机69福利| 中文字幕在线观看不卡视频| thepron国产精品| 色哟哟日韩精品| 日韩人妻无码一区二区三区| 免费黄视频在线观看| 色婷婷综合久久久久中文| 日韩免费成人网| 欧美国产日韩精品免费观看| 欧美疯狂性受xxxxx喷水图片| 国产精品久久久久婷婷| 日韩精品五月天| 中文字幕在线一区免费| 无码人妻精品一区二区中文| 日韩欧美在线影院| 色婷婷激情一区二区三区| 免费观看在线综合色| 久久精品在线观看视频| 黄色录像a级片| 久久精品av麻豆的观看方式| 一级性生活毛片| 扒开伸进免费视频| 日本高清www| 污片免费在线观看| 一二三四在线观看视频| 26uuu亚洲婷婷狠狠天堂| 国产精品综合久久| 一本到一区二区三区| 亚洲一二三四区| 人妻一区二区视频| 中文字幕中文字幕中文字幕亚洲无线 | 日韩高清国产一区在线| 欧洲美一区二区三区亚洲| 欧美国产精品久久| 日本xxxx免费| www久久精品| 91在线播放网址| 日韩午夜激情av| 国产不卡视频一区| 欧美亚洲综合色| 九九九久久久精品| 色欧美乱欧美15图片| 日韩—二三区免费观看av| 一级性生活免费视频| 亚洲狠狠爱一区二区三区| b站大片免费直播| 国产精品大尺度| 国产综合内射日韩久| 久久色.com| 91麻豆精东视频| 2014亚洲片线观看视频免费| 97se亚洲国产综合自在线| 精品欧美久久久| 91理论电影在线观看| 久久久综合视频| av不卡中文字幕| 亚洲国产成人午夜在线一区| 久久久午夜精品福利内容| 欧美激情资源网| 欧美无人区码suv| 亚洲男同性视频| 日韩欧美黄色网址| 午夜精品一区二区三区电影天堂| 国产三级国产精品| 亚洲人一二三区| 永久免费av无码网站性色av| 亚洲高清中文字幕| 国产稀缺精品盗摄盗拍| 全国精品久久少妇| 欧美色男人天堂| 成人毛片在线观看| 久久综合狠狠综合久久综合88| 国产精品亚洲第一| 欧美一区二区国产| 黄色片子免费看| 日本一区二区三区四区| 法国伦理少妇愉情| 亚洲成年人影院| 日本精品视频一区二区三区| 国产一区二区在线观看免费| 欧美一区二区三区日韩视频| 91亚洲男人天堂| 国产精品拍天天在线| 五月婷婷欧美激情| 麻豆精品在线播放| 91精品国产91久久综合桃花| 99久久久久久| 国产精品不卡在线| 国产极品美女在线| 国产毛片精品视频| 久久丝袜美腿综合| 妺妺窝人体色WWW精品| 日韩有码一区二区三区| 欧美三级日韩三级国产三级| a在线欧美一区| 国产精品黄色在线观看 | 国产精品欧美极品| 成熟人妻av无码专区| 秋霞电影一区二区| 日韩三级伦理片妻子的秘密按摩| 国产精品2024| 国产色产综合产在线视频| 亚洲人成人无码网www国产| 日韩av一区二区三区| 51午夜精品国产| 国模无码视频一区| 亚洲二区在线观看| 欧美乱熟臀69xxxxxx| 男插女视频网站| 一区二区三区丝袜| 欧美亚洲国产怡红院影院| 91亚洲精华国产精华精华液| 亚洲欧美一区二区三区孕妇| 日本韩国一区二区三区| 99久久综合国产精品| 亚洲日本一区二区三区| 一本一道综合狠狠老| 99在线视频精品| 亚洲精品欧美二区三区中文字幕| 欧美福利第一页| 国产精品影音先锋| 国产精品国产三级国产三级人妇| 真实乱视频国产免费观看 | 久久精品亚洲a| 成人avav影音| 亚洲精品老司机| 欧美日韩一区在线|