校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁(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)民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    精品999久久久| 免费观看久久久4p| 久久久久久夜精品精品免费| 欧美四级电影在线观看| 一本到不卡精品视频在线观看| 91亚洲国产成人精品一区二区三 | 精品国产乱子伦一区| 亚洲激情网站免费观看| 91精品国产麻豆| 欧美性极品少妇| 精品少妇一区二区三区在线播放 | 亚洲欧洲美洲综合色网| 欧美精品一区二区在线播放| 日本一区二区电影| 久久综合狠狠综合久久综合88| 日韩一卡二卡三卡国产欧美| 久久久亚洲高清| 欧美精品视频www在线观看 | 视频精品一区二区| 一区二区在线观看av| 蜜桃视频在线观看一区| 丁香婷婷综合色啪| 欧美一区二区福利在线| 亚洲精品少妇30p| 日韩电影网1区2区| 欧美做爰猛烈大尺度电影无法无天| 日韩精品中文字幕在线不卡尤物 | 成人欧美一区二区三区小说 | 精品国偷自产国产一区| 亚洲美女视频在线| 99精品国产99久久久久久白柏| 日韩女优制服丝袜电影| 亚洲主播在线播放| 99久久精品免费看国产| 国产精品五月天| 国产精品亚洲综合一区在线观看| 51精品视频一区二区三区| 亚洲第一狼人社区| 欧美在线你懂的| 亚洲精品国产精品乱码不99| 成人av在线网站| 国产精品久久久久久久午夜片| 国产成人精品综合在线观看| 久久精品夜色噜噜亚洲a∨| 韩国欧美一区二区| 日本一区二区在线不卡| 国产一区二区三区在线看麻豆| 欧美电影免费观看高清完整版在| 调教+趴+乳夹+国产+精品| 884aa四虎影成人精品一区| 久久久精品tv| 成人毛片老司机大片| 亚洲免费观看高清完整版在线观看| a美女胸又www黄视频久久| 亚洲靠逼com| 精品久久久久99| 成人av片在线观看| 五月天网站亚洲| 欧美国产一区在线| 国内精品久久久久影院薰衣草| 国产精品一区二区在线播放| 久久精品亚洲麻豆av一区二区| 国产一区二区在线电影| 久久久久国产精品厨房| 99精品久久久久久| 国产一区 二区 三区一级| 欧美激情综合在线| 欧美军同video69gay| 成人污污视频在线观看| 秋霞午夜av一区二区三区| 国产精品成人网| 欧美一级高清片| 欧美人与禽zozo性伦| 不卡电影免费在线播放一区| 毛片一区二区三区| 一区二区三区精品在线| 国产精品成人在线观看| 久久久久久久久97黄色工厂| 欧美美女一区二区三区| 日本精品一区二区三区四区的功能| 国内精品视频一区二区三区八戒| 婷婷久久综合九色综合绿巨人 | 在线影视一区二区三区| 91在线视频播放| 色欧美片视频在线观看| 不卡大黄网站免费看| a级精品国产片在线观看| 99视频精品免费视频| 91美女在线看| 91精品国产91热久久久做人人| 精品视频在线视频| 日韩视频在线永久播放| 欧美变态凌虐bdsm| 亚洲精品在线观看视频| 中文字幕国产一区| 一区二区国产盗摄色噜噜| 免费成人你懂的| 成人动漫中文字幕| 欧美日韩成人高清| 久久久久久久综合| 亚洲二区视频在线| 蜜桃视频在线观看一区二区| 国产精品12区| 欧美少妇bbb| 国产精品无人区| 蜜臀a∨国产成人精品| 色婷婷精品久久二区二区蜜臂av | 成人福利视频在线看| 欧美三级日韩三级国产三级| 精品国产亚洲一区二区三区在线观看| 日本一区二区高清| 亚洲成人资源在线| 成人app网站| 久久久久国产精品麻豆ai换脸| 一区二区三区免费观看| 成人一区二区三区| 日韩片之四级片| 日韩av电影免费观看高清完整版 | 黄色日韩网站视频| 欧美久久一区二区| 亚洲综合图片区| 91偷拍与自偷拍精品| 欧美韩国日本综合| 国产精品综合网| 国产丝袜欧美中文另类| 日本vs亚洲vs韩国一区三区| 在线免费观看成人短视频| 中文字幕一区二区三区在线观看 | 亚洲女性喷水在线观看一区| 粉嫩一区二区三区在线看| 91精品国产高清一区二区三区蜜臀| 国产人成一区二区三区影院| 国产在线视频一区二区三区| 91麻豆精品国产91| 精品一二三四区| 久久精品人人做人人综合| 久久99在线观看| 国产日本欧美一区二区| 99视频精品在线| 日韩在线卡一卡二| 久久蜜桃av一区二区天堂| 美女一区二区在线观看| 欧美精品一区二区在线观看| 99亚偷拍自图区亚洲| 亚洲成av人片观看| 国产免费观看久久| 欧美在线播放高清精品| 精品制服美女丁香| 日本一区二区三级电影在线观看 | 国产成人在线免费观看| 亚洲激情第一区| 26uuu欧美| 欧美日韩免费观看一区三区| 国内外精品视频| 亚洲精品国久久99热| 久久久综合视频| 69堂国产成人免费视频| 97久久超碰精品国产| 九九精品一区二区| 夜夜嗨av一区二区三区| 久久久久久日产精品| 色综合久久综合网97色综合| 国内不卡的二区三区中文字幕| 亚洲综合999| 亚洲免费大片在线观看| 精品福利一二区| 日韩欧美一级特黄在线播放| 欧美性淫爽ww久久久久无| 97se亚洲国产综合自在线观| 国产一区二区按摩在线观看| 麻豆一区二区99久久久久| 亚洲一区二区免费视频| 亚洲久本草在线中文字幕| 国产精品女主播av| 26uuu色噜噜精品一区二区| 日韩欧美亚洲国产另类| 色美美综合视频| 91在线观看视频| 欧美无乱码久久久免费午夜一区| 成人精品在线视频观看| 成人免费视频播放| 99精品在线免费| 欧美日韩国产首页在线观看| 欧美偷拍一区二区| 51精品视频一区二区三区| 欧美一卡二卡在线| 欧美激情一区二区三区不卡| 国产精品国产三级国产专播品爱网| 久久久蜜臀国产一区二区| 中文幕一区二区三区久久蜜桃| 国产精品网站一区| 亚洲小说欧美激情另类| 麻豆国产欧美一区二区三区| 成人免费高清在线观看| 日本韩国欧美一区二区三区| 日韩一区二区麻豆国产| 亚洲欧美在线视频| 极品尤物av久久免费看| 99久久综合狠狠综合久久| 日韩一二三区不卡|