为了账号安全,请及时绑定邮箱和手机立即绑定

hibernate的rollback方法是干嘛的,还有serializable是什么意思

hibernate的rollback方法是干嘛的,还有serializable是什么意思

fenkapian 2016-09-03 07:27:13
用hibernate实现的java web项目中,完成保存操作时,dao层接口的相关方法的返回值为什么是serializable,这是个什么类型的数据。还有,在biz层里,biz接口的实现类,为什么大都要加一个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条经验 获得超332个赞

tx.rollback的意思是业务回滚,也就是说当你的业务出现了异常,并且不为空,将业务恢复至原来的状态……

查看完整回答
反对 回复 2016-09-03
  • 大咪
    大咪
    serializable是序列化的意思……,事物回滚我可以给你举个桃子,栗子太小了……比如说,你去银行办理转账业务,A卡转到B卡,突然转钱的过程中停电了!你的钱是不是此时从A卡出来了,但是由于停电没有到B卡中去,这时不能说你这转账成功了吧,此时发生业务异常!业务需要回滚到你没转账之前的状态,这样才可以保持你得a卡钱没扣除,b卡也没收到
?
大咪

TA贡献785条经验 获得超332个赞

serializable是序列化的意思……,事物回滚我可以给你举个桃子,栗子太小了……比如说,你去银行办理转账业务,A卡转到B卡,突然转钱的过程中停电了!你的钱是不是此时从A卡出来了,但是由于停电没有到B卡中去,这时不能说你这转账成功了吧,此时发生业务异常!业务需要回滚到你没转账之前的状态,这样才可以保持你得a卡钱没扣除,b卡也没收到

查看完整回答
1 反对 回复 2016-09-03
  • 2 回答
  • 0 关注
  • 2487 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信