adf - jpa datacontrol没有获得有关插入的更新数据

时间:2013-12-04 09:42:01

标签: oracle-adf

我使用ADF和JPA作为模型 我有一个页面,我在其中使用按钮向数据库中添加一行 我的actionlistionar调用函数

public void addAns() {
    OperationBinding op1 =
        BindingContext.getCurrent().getCurrentBindingsEntry().getOperationBinding("QuestionsFindByQid");
    questions = (Questions) op1.getResult();
    BigDecimal aid = maxAnsID();
    Answer = new Answers();
    Answer.setAnsvalue(AnsValue);
    Answer.setUsers(user);
    Answer.setQuestions(questions);
    Answer.setGroups(questions.getGroups2());
    Answer.setAnsdate(date);
    Answer.setAid(aid);
    // op =BindingContext.getCurrent().getCurrentBindingsEntry().getOperationBinding("Create");
    //op.execute();
    OperationBinding op = BindingContext.getCurrent().getCurrentBindingsEntry().getOperationBinding("persistAnswers");
    op.getParamsMap().put("answers", Answer);
    op.execute();

    System.out.println(op.getResult());
    op1 = BindingContext.getCurrent().getCurrentBindingsEntry().getOperationBinding("QuestionsFindByQid");
    op1.execute();
   FacesMessage message =
        new FacesMessage("answer added succesfully ");
    FacesContext.getCurrentInstance().addMessage(user.getUsername(), message);
}

我正在调用persist方法进行插入 我有一个表,我需要在插入时更新数据,我尝试重新执行绑定方法,但QuestionsFindByQid没有获取更新的数据 我坚持后检查了我的实体,我在我的实体中获得了更新的数据

请一位有人帮助我

1 个答案:

答案 0 :(得分:0)

Krishna,你在JDev / ADF上建造什么?

最简单的答案可能是,任何正在实现persistAnswers()的类都不会隐式提交操作。 persist()调用本身会更新JPA持久性上下文,但不会更新数据库。要应用更改,需要提交。

JDev提供向导来创建EJB会话bean或简单的POJO,它将充当处理事务的外观。这在最近几个版本中得到了发展,最新版本(12.1.3)为使用EJB和POJO外观的CRUD操作提供了交钥匙解决方案,而不是JPA实体。