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

用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;
    }



fenkapian
浏览 2488回答 2
2回答

大咪

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

大咪

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

相关分类

Java