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;
} |
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
tx.rollback的意思是业务回滚,也就是说当你的业务出现了异常,并且不为空,将业务恢复至原来的状态…… |
|
|
|
|
serializable是序列化的意思……,事物回滚我可以给你举个桃子,栗子太小了……比如说,你去银行办理转账业务,A卡转到B卡,突然转钱的过程中停电了!你的钱是不是此时从A卡出来了,但是由于停电没有到B卡中去,这时不能说你这转账成功了吧,此时发生业务异常!业务需要回滚到你没转账之前的状态,这样才可以保持你得a卡钱没扣除,b卡也没收到 |
|
|
|
|