我使用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没有获取更新的数据 我坚持后检查了我的实体,我在我的实体中获得了更新的数据
请一位有人帮助我
答案 0 :(得分:0)
Krishna,你在JDev / ADF上建造什么?
最简单的答案可能是,任何正在实现persistAnswers()
的类都不会隐式提交操作。 persist()
调用本身会更新JPA持久性上下文,但不会更新数据库。要应用更改,需要提交。
JDev提供向导来创建EJB会话bean或简单的POJO,它将充当处理事务的外观。这在最近几个版本中得到了发展,最新版本(12.1.3)为使用EJB和POJO外观的CRUD操作提供了交钥匙解决方案,而不是JPA实体。