用hibernate實現(xiàn)的java web項目中,完成保存操作時,dao層接口的相關方法的返回值為什么是serializable,這是個什么類型的數(shù)據(jù)。還有,在biz層里,biz接口的實現(xiàn)類,為什么大都要加一個rollback()方法?public Serializable save(House house);??? public Serializable save(House house) {?? ??? ?// TODO Auto-generated method stub?? ??? ?Transaction tx = null;?? ??? ?Serializable id = null;?? ??? ?try {?? ??? ??? ?tx = HibernateUtil.currentSession("hibernate.cfg.xml").beginTransaction();?? ??? ??? ?id = houseDao.save(house);?? ??? ??? ?tx.commit();?? ??? ??? ??? ??? ?} catch (HibernateException e) {?? ??? ??? ?// TODO Auto-generated catch block?? ??? ??? ?e.printStackTrace();?? ??? ??? ?if (tx != null) {?? ??? ??? ??? ?tx.rollback();?? ??? ??? ?}?? ??? ?}?? ??? ?return id;?? ?}
2 回答
已采納

大咪
TA貢獻785條經(jīng)驗 獲得超332個贊
tx.rollback的意思是業(yè)務回滾,也就是說當你的業(yè)務出現(xiàn)了異常,并且不為空,將業(yè)務恢復至原來的狀態(tài)……

大咪
TA貢獻785條經(jīng)驗 獲得超332個贊
serializable是序列化的意思……,事物回滾我可以給你舉個桃子,栗子太小了……比如說,你去銀行辦理轉賬業(yè)務,A卡轉到B卡,突然轉錢的過程中停電了!你的錢是不是此時從A卡出來了,但是由于停電沒有到B卡中去,這時不能說你這轉賬成功了吧,此時發(fā)生業(yè)務異常!業(yè)務需要回滾到你沒轉賬之前的狀態(tài),這樣才可以保持你得a卡錢沒扣除,b卡也沒收到
添加回答
舉報
0/150
提交
取消