电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

java中Hibernate的狀態(tài)總結(jié)

瀏覽:73日期:2022-08-17 16:32:47

在Hibernate框架中對(duì)象的存在有不同的狀態(tài),只有理解了這些狀態(tài),才能對(duì)Hibernate的工作機(jī)制有所認(rèn)知。主要有四種:瞬時(shí)狀態(tài)、持久化狀態(tài)、脫管狀態(tài)和刪除態(tài) 。都比較好理解,大致可以看作是臨時(shí)、穩(wěn)定、半穩(wěn)定、回收的幾種形式,下面就Hibernate的這幾種狀態(tài)帶來(lái)詳細(xì)的介紹。

1.瞬時(shí)狀態(tài)

通過(guò)new開(kāi)辟內(nèi)存空間創(chuàng)建的實(shí)體對(duì)象,但是它沒(méi)有納入hibernate session的管理之中,如果沒(méi)有變量對(duì)它引用,它將會(huì)被JVM(垃圾回收器)回收。瞬時(shí)狀態(tài)的對(duì)象在內(nèi)存中是孤立的,它與數(shù)據(jù)庫(kù)無(wú)任何關(guān)聯(lián),僅僅是一個(gè)信息攜帶的載體。

一個(gè)瞬時(shí)狀態(tài)對(duì)象被持久化狀態(tài)對(duì)象引用,它也會(huì)自動(dòng)變?yōu)槌志没癄顟B(tài)對(duì)象。例如調(diào)用session的save、saveorupdate等方法的時(shí)候。

特征:

(1)使用 new 創(chuàng)建出來(lái)的對(duì)象,沒(méi)有設(shè)置 id 屬性

(2)沒(méi)有被 session 托管,換句話說(shuō) 對(duì)象數(shù)據(jù) 存放在內(nèi)存中, 沒(méi)有存放到 session 緩存中

(3)臨時(shí)對(duì)象數(shù)據(jù) 與 數(shù)據(jù)庫(kù)中的數(shù)據(jù) 還沒(méi)任何關(guān)聯(lián)

2.持久化狀態(tài)

持久化狀態(tài)對(duì)象存在與數(shù)據(jù)庫(kù)中的數(shù)據(jù)關(guān)聯(lián),它總是與會(huì)話狀態(tài)(Session)和事務(wù)(Transaction)關(guān)聯(lián)在一起。當(dāng)持久化狀態(tài)對(duì)象發(fā)生變動(dòng)時(shí)并不會(huì)立即執(zhí)行數(shù)據(jù)庫(kù)操作,只有當(dāng)事務(wù)結(jié)束時(shí),才會(huì)更新數(shù)據(jù)庫(kù),以便保證Hibernate的持久化對(duì)象和數(shù)據(jù)庫(kù)操作的同步性。

當(dāng)持久化狀態(tài)對(duì)象變?yōu)橥泄軤顟B(tài)對(duì)象時(shí),它將不在Hibernate持久層的管理范圍之內(nèi)。

特征:

(1)要么是從數(shù)據(jù)庫(kù)中使用 get 或 load 方法查詢(xún)到的數(shù)據(jù)對(duì)象, 要么是 使用save 或 update 方法數(shù)據(jù)轉(zhuǎn)變成持久層對(duì)象

(2)對(duì)象 數(shù)據(jù)被 session 托管。換句話說(shuō) 對(duì)象數(shù)據(jù) 在 session 緩存中有一份,在數(shù)據(jù)庫(kù)中有相應(yīng)的記錄

3.脫管狀態(tài)

當(dāng)持久化對(duì)象的Session關(guān)閉之后,這個(gè)對(duì)象就從持久化狀態(tài)變?yōu)橥泄軤顟B(tài)。托管狀態(tài)的對(duì)象仍然在與數(shù)據(jù)庫(kù)中的數(shù)據(jù)關(guān)聯(lián),但是他并不在Hibernate的Session管轄范圍之內(nèi)。

如果將脫管狀態(tài)的對(duì)象重新關(guān)聯(lián)到某個(gè)新的Session上,它將變回持久化狀態(tài)對(duì)象。

特征:

(1)主要是通過(guò) 持久狀態(tài)對(duì)象,調(diào)用 session.evict() 或 session.clear() 或 session.close() 得到的,也可以new 一個(gè)設(shè)置 id 值的對(duì)象

(2)session 緩存中沒(méi)有,內(nèi)存中有的對(duì)象(注: 該對(duì)象設(shè)置了 id 值)

4.刪除態(tài)

調(diào)用session的delete方法時(shí),對(duì)象轉(zhuǎn)為刪除態(tài)。刪除態(tài)只能等待被回收。

知識(shí)點(diǎn)擴(kuò)展:

Hibernate的檢索方式

導(dǎo)航對(duì)象圖檢索(根據(jù)已經(jīng)加載的對(duì)象,導(dǎo)航到其他對(duì)象。)

OID檢索(按照對(duì)象的OID來(lái)檢索對(duì)象。) HQL檢索(使用面向?qū)ο蟮腍QL查詢(xún)語(yǔ)言。) QBC檢索(使用QBC(Qurey By Criteria)API來(lái)檢索對(duì)象。 QBC/QBE離線/在線) 本地SQL檢索(使用本地?cái)?shù)據(jù)庫(kù)的SQL查詢(xún)語(yǔ)句。)

包括Hibernate的檢索方式,Hibernate中對(duì)象的狀態(tài),Hibernate的3種檢索策略是什么,分別適用于哪種場(chǎng)合,ORM解決的不匹配問(wèn)題, Hibernate映射繼承關(guān)系的3種方式,Session的find()方法以及Query接口的區(qū)別等方面問(wèn)題的總結(jié)

臨時(shí)狀態(tài)(transient):剛剛用new語(yǔ)句創(chuàng)建,還沒(méi)有被持久化,不處于Session的緩存中。處于臨時(shí)狀態(tài)的Java對(duì)象被稱(chēng)為臨時(shí)對(duì)象。

持久化狀態(tài)(persistent):已經(jīng)被持久化,加入到Session的緩存中。處于持久化狀態(tài)的Java對(duì)象被稱(chēng)為持久化對(duì)象。

游離狀態(tài)(detached):已經(jīng)被持久化,但不再處于Session的緩存中。處于游離狀態(tài)的Java對(duì)象被稱(chēng)為游離對(duì)象。

Hibernate的3種檢索策略是什么,分別適用于哪種場(chǎng)合

立即檢索

優(yōu)點(diǎn):對(duì)應(yīng)用程序完全透明。

缺點(diǎn):select語(yǔ)句數(shù)目多。

適用:類(lèi)級(jí)別。

延遲檢索

優(yōu)點(diǎn):由應(yīng)用程序決定加載哪些對(duì)象,可以避免執(zhí)行多余的select語(yǔ)句以及避免加載不需要訪問(wèn)的對(duì)象,節(jié)省內(nèi)存空間,提高檢索效率。

缺點(diǎn):應(yīng)用程序如果要訪問(wèn)游離態(tài)的代理類(lèi)實(shí)例,必須保證它在持久化時(shí)已經(jīng)被初始化。

適用:一對(duì)多或多對(duì)多關(guān)聯(lián)。應(yīng)用程序不需要立即訪問(wèn)或者根本不會(huì)訪問(wèn)的對(duì)象。

迫切左外連接檢索

優(yōu)點(diǎn):對(duì)應(yīng)用程序完全透明,不管對(duì)象處于持久化狀態(tài)還是游離狀態(tài),應(yīng)用程序都可以方便的從一個(gè)對(duì)象導(dǎo)航到另一個(gè)與它相關(guān)聯(lián)的對(duì)象。使用了外連接,select語(yǔ)句數(shù)目少。

缺點(diǎn):可能會(huì)加載程序不許要訪問(wèn)的對(duì)象。復(fù)雜的數(shù)據(jù)庫(kù)表連接形象檢索性能。

適用:一對(duì)一或多對(duì)一關(guān)聯(lián)。應(yīng)用程序需要立即訪問(wèn)的對(duì)象。數(shù)據(jù)庫(kù)系統(tǒng)具有良好的表連接性能。

到此這篇關(guān)于java中Hibernate的狀態(tài)總結(jié)的文章就介紹到這了,更多相關(guān)java之Hibernate的狀態(tài)整理內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 蔡司三坐标-影像测量机-3D扫描仪-蔡司显微镜-扫描电镜-工业CT-ZEISS授权代理商三本工业测量 | CTP磁天平|小电容测量仪|阴阳极极化_双液系沸点测定仪|dsj电渗实验装置-南京桑力电子设备厂 | 温室大棚建设|水肥一体化|物联网系统 | 防爆正压柜厂家_防爆配电箱_防爆控制箱_防爆空调_-盛通防爆 | 国资灵活用工平台_全国灵活用工平台前十名-灵活用工结算小帮手 | 亮化工程,亮化设计,城市亮化工程,亮化资质合作,长沙亮化照明,杰奥思【官网】 | Type-c防水母座|贴片母座|耳机接口|Type-c插座-深圳市步步精科技有限公司 | 震动筛选机|震动分筛机|筛粉机|振筛机|振荡筛-振动筛分设备专业生产厂家高服机械 | 铣刨料沥青破碎机-沥青再生料设备-RAP热再生混合料破碎筛分设备 -江苏锡宝重工 | 石膏基自流平砂浆厂家-高强石膏基保温隔声自流平-轻质抹灰石膏粉砂浆批发-永康市汇利建设有限公司 | 运动木地板_体育木地板_篮球馆木地板_舞台木地板-实木运动地板厂家 | 氢氧化钙设备, 氢氧化钙生产线-淄博惠琛工贸有限公司 | 法兰螺母 - 不锈钢螺母制造厂家 - 万千紧固件--螺母街 | 山东活动策划|济南活动公司|济南公关活动策划-济南锐嘉广告有限公司 | 珠海网站建设_响应网站建设_珠海建站公司_珠海网站设计与制作_珠海网讯互联 | 全自动包装秤_全自动上袋机_全自动套袋机_高位码垛机_全自动包装码垛系统生产线-三维汉界机器(山东)股份有限公司 | 气动绞车,山东气动绞车,气动绞车厂家-烟台博海石油机械有限公司 气动隔膜泵厂家-温州永嘉定远泵阀有限公司 | 胶辊硫化罐_胶鞋硫化罐_硫化罐厂家-山东鑫泰鑫智能装备有限公司 意大利Frascold/富士豪压缩机_富士豪半封闭压缩机_富士豪活塞压缩机_富士豪螺杆压缩机 | 广州昊至泉水上乐园设备有限公司 | 直齿驱动-新型回转驱动和回转支承解决方案提供商-不二传动 | uv固化机-丝印uv机-工业烤箱-五金蚀刻机-分拣输送机 - 保定市丰辉机械设备制造有限公司 | 冷水机-冰水机-冷冻机-冷风机-本森智能装备(深圳)有限公司 | 对照品_中药对照品_标准品_对照药材_「格利普」高纯中药标准品厂家-成都格利普生物科技有限公司 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库 | 物流公司电话|附近物流公司电话上门取货 | 上海佳武自动化科技有限公司| 百度关键词优化_网站优化_SEO价格 - 云无限好排名 | 机床主轴维修|刀塔维修|C轴维修-常州翔高精密机械有限公司 | 吹田功率计-长创耐压测试仪-深圳市新朗普电子科技有限公司 | 锌合金压铸-铝合金压铸厂-压铸模具-冷挤压-誉格精密压铸 | 变压器配件,变压器吸湿器,武强县吉口变压器配件有限公司 | 铝机箱_铝外壳加工_铝外壳厂家_CNC散热器加工-惠州市铂源五金制品有限公司 | 球磨机 选矿球磨机 棒磨机 浮选机 分级机 选矿设备厂家 | 铝合金脚手架厂家-专注高空作业平台-深圳腾达安全科技 | 蓄电池在线监测系统|SF6在线监控泄露报警系统-武汉中电通电力设备有限公司 | 变位机,焊接变位机,焊接变位器,小型变位机,小型焊接变位机-济南上弘机电设备有限公司 | 长沙中央空调维修,中央空调清洗维保,空气能热水工程,价格,公司就找维小保-湖南维小保环保科技有限公司 | 冷却塔降噪隔音_冷却塔噪声治理_冷却塔噪音处理厂家-广东康明冷却塔降噪厂家 | 无轨电动平车_轨道平车_蓄电池电动平车★尽在新乡百特智能转运设备有限公司 | 东莞爱加真空科技有限公司-进口真空镀膜机|真空镀膜设备|Polycold维修厂家 | 低浓度恒温恒湿称量系统,强光光照培养箱-上海三腾仪器有限公司 | 中山市派格家具有限公司【官网】|