从我的客户端应用程序中,我想在一个 EJB 方法中调用存储和刷新,而不是对两个方法的两次调用。我做了一个 EJB 方法,让它调用其他两个 EJB 方法,看起来很简单,像这样:
public ZippedObjectWrapper saveAndRefresh(final Item p_item) {
Long itemSavedId= save(p_item);
return refresh(itemSavedId);
}
问题是 Toplink 不允许我读取数据并且在刷新部分抛出异常:
异常 [TOPLINK-7123] 异常描述:已在此 UnitOfWork 上调用了成功的 writeChanges()。由于提交过程已经开始但尚未最终确定,现在唯一支持的操作是提交、commitAndResume、发布、任何非对象级查询或 SQLCall 执行。此时不允许执行 executeQuery(ObjectLevelReadQuery) 操作。
有什么建议么?
编辑:更改方法签名。