クライアント アプリから、2 つのメソッドを 2 回呼び出すのではなく、1 つの EJB メソッドで store と refresh を呼び出したいと考えています。EJB メソッドを作成し、他の 2 つの 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) 操作は許可されていません。
助言がありますか?
編集: メソッドのシグネチャを変更しました。