3 Replies Latest reply: Oct 25, 2012 10:26 PM by Eric.Noah RSS

    ADF AM事务

    792478
      在ADF中如果把所有的VO都交给了一个AM来管理的话那就意味着这里所有的VO都是同一个事务。比如说:我们有两个页面分别是Department.jsf跟Employee.jsf。当我们在Department.jsf页面修改了Department的信息后做不save动作,而进到Employee这个页面做了修改之后再save这时就会把Department跟Employee两个页面的修改都commit到数据库里面去了。
      现在我想在Department修改了之后,进到Employee页面修改employee信息然后点击commit button的时候只是保存Employee的修改到数据库里面去而不会把Department的修改也保存进去怎么实现啊?Department跟Employee这两个VO都交给同一个AM来管理。

      Edited by: user8995644 on 2012-4-15 上午2:53
        • 1. Re: ADF AM事务
          857279
          在DEPT页面的用于跳转到EMPS页面的按钮上设置点击时先执行binding容器中的AM Rollback的operation的绑定,取消之前对DEPT的更改,然后进入EMP进行编辑。你可以在该按钮的manage bean代码实现中加入弹出对话框,要求最终用户确认放弃当前对DEPT的更改。
          • 2. Re: ADF AM事务
            792478
            非常感谢Gene的指导,这个方法确实是可以行的。
            如果我现在是一个不带任何事件的link如何能实现呢?就是一个简单的html的link,当点击他的时候会进到另外一个页面,在这个时候我能不能把那个之前的事务回滚呢?
            • 3. Re: ADF AM事务
              Eric.Noah
              只要你可以绑定一个manage bean在后台,然后能拿到这个am, 就可以调用rollback.