从我的客户端应用程序中,我想用一个EJB方法调用存储和刷新,而不是对两个方法进行两次调用。我做了一个EJB方法,使其调用其他两个EJB方法,它看起来很简单,就像这样:使用EJB 2.0和JPA(Toplink)问题存储和刷新对象
public ZippedObjectWrapper saveAndRefresh(final Item p_item) {
Long itemSavedId= save(p_item);
return refresh(itemSavedId);
}
的问题是Toplink的这并不让我读出的数据,并在刷新部件抛出一个异常:
异常[TOPLINK-7123] 异常情况说明:在此UnitOfWork上调用了成功的writeChanges()。由于提交过程已经开始但尚未最终确定,现在唯一支持的操作是commit,commitAndResume,release,任何非对象级别的查询或SQLCall执行。目前不允许执行executeQuery(ObjectLevelReadQuery)操作。
有什么建议吗?
编辑:更改方法签名。
请使用英文变量名称。对于大多数SO用户来说这是不可能的。 – atamanroman 2011-03-11 09:05:44
你如何管理交易? – axtavt 2011-03-11 09:44:44
你究竟是什么意思? – Andrija 2011-03-11 09:51:28