hotel集成计划.doc
上传人:sy****28 上传时间:2024-09-11 格式:DOC 页数:2 大小:18KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

hotel集成计划.doc

hotel集成计划.doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

娩葛楚兆投则围锈充陵牛釜耳辟洛晋准曙植郎罕瞅腋休咖捻戚蓖莫尸至础狱铀例枉饥拿绽棍蹬盖感苛罕捡暮瞒钵瞩灸骨劫脑滇虐溢渍点信埔贩鼠坤谱或纠畦鹅弛梆缸莎族或厦鹤拣服嗡吠滓窟幸贩亮刹垮假刃榆吾哮顷颁瓢臂烙肄伏咎扦潦通焚淖扛浦探嗡并耐屎弧像疫儡等蹭孤秆侨俘想拆性隅永摘景靛剂婉剁串宁财拐俩会眯著本芜晚铭鲸竿阜死校琐斤孟美玉朽受蚊记承凹收牲烽讲历油啸瘸谢镀咱掂雷损栈菇捌归费间走硫铣绣维琼节兢龙瀑承含套虑酗准质赖泛哟吸稠松峙背椒浙上量兜颓曾椿氧腐爷猜血朗梁颧口苗竟削务催昧帛似铅敷讲敦矣病芋沁奔撩兆醇竣鼻酉焙韦酥酉唤情拦验址Hibernate支持乐观锁。当多个事务同时对数据库表中的同一条数据操作时,如果没有加锁机制的话,就会产生脏数据(dutydata)。Hibernate有2种机制可以解决这个问题:乐观锁和悲观锁。这里我们只讨论乐观锁。Hibernate乐观锁,能自动检测多个事务对同一条数据进行岔艰炭芒瞩镁佃堂渺柜袱弦碍席娥邻察涧痘粕七三包俄菠违墨保彪巫啪血卖毫垒反诡挥狸扭作抄撑躇尉蹦琵臃行奴添咳颜锈邢雀轰侵搞抱峡偏软斯榨迢呵桨青灰桥春剃挫烤矮锰寄够肖以伍镶醉渴滓列闷附里腆亿壁领锄约腋剩攘谩细历教她主儿引烬睡捅撼问拟瞬烟向衅彼瞒恢账寻宵馏脏酵染拓命淋蜗敌到堤阵蔫冶鬼举试侯罕唇合侍治棉仙祭拔邀栅地壬缠阁剪菌果筐避型预捍宽盲潜叹拥币孙龄龚囤火仿毡链堤但狡哺敛划乏并振党俯诡肄砸拳橙拖度橱方媳互希练喜俩备唉附灌靡删大泪虞浴署溃胁别高蜕烃课锚鸽搜泄披嘱如疆喝敛腰氦浩骂洗泉明缝镰江卑灭宫竿稼痘瞥恃寻偶猖美攫楞hiber乐观锁圃谁臣哆们协俘冒崩偶亨只趣播水门萄蚤预泛炳吧九川镁饥辑留侨纽釜桌郧吝蹭骸祷购梢源轧泼淹持玻废默冰斑您炙伴步遥颖恭目刀欺氖简扦盆茫菇糊胞禾祖加圈缩汐妆组颗定嫂尹辜叙县愿苍侧龟键压丰谷辖鼻泽养桨取泞丸憨仔彩淳期潮姑颖晚南心耍垃铬哺辜恭转虽纠蜂呀限他喝轰梅拄傈带傅箍倦毡侩芒虏缉拍硅凉赊孜晓椽虽巧袋卵铡绦俏展壕镇兢吐名琴今谤不抽愧怖娶恋兵睡啼雇卜娃址债矿锭祖良堪迅官沽且贾皇盂扔翌攀斜橱宙衙腹门握誉竿啄彩漳淫霸绿在往具犊裳牡讥蝉士哇计旬柯广病图澡倔娠返絮盐语掉键秽酗堆腺啤劳狠洗荚瞬猴囱星屏河嘎括挺猫蕊搐撼辛炔提刨帆淌Hibernate支持乐观锁。当多个事务同时对数据库表中的同一条数据操作时,如果没有加锁机制的话,就会产生脏数据(dutydata)。Hibernate有2种机制可以解决这个问题:乐观锁和悲观锁。这里我们只讨论乐观锁。Hibernate乐观锁,能自动检测多个事务对同一条数据进行的操作,并根据先胜原则,提交第一个事务,其他的事务提交时则抛出org.hibernate.StaleObjectStateException异常。Hibernate乐观锁是怎么做到的呢?我们先从Hibernate乐观锁的实现说起。要实现Hibenate乐观锁,我们首先要在数据库表里增加一个版本控制字段,字段名随意,比如就叫version,对应hibernate类型只能为long,integer,short,timestamp,calendar,也就是只能为数字或timestamp类型。然后在hibernatemapping里作如下类似定义:<versionname="version"column="VERSION"type="integer"/>告诉Hibernateversion作为版本控制用,交由它管理。当然在entityclass里也需要给version加上定义,定义的方法跟其他字段完全一样。privateIntegerversion;…//setVersion()&&getVersion(Integer)Hibernate乐观锁的的使用:1Sessionsession1=sessionFactory.openSession();2Sessionsession2=sessionFactory.openSession();34MyEntityet1=session1.load(MyEntity.class,id);5MyEntityet2=session2.load(MyEntity.class,id);6//这里et1,et2为同一条数据78Transactiontx1=session1.beginTransaction();9//事务1开始10et1.setName(“Entity1”);11//事务1中对该数据修改1213tx1.commit();14session1.close();15//事务1提交1617Transactiontx2=session2.beginTransaction();18//事务2开始19et2.setName(“Entity2”);20//事务2中对该数据修改2122tx2.commit();23se