0

私のチームと私は現在、Spring2.5.6とSpringWebflow 2.0(JDK 1.4.2)を使用してプロジェクトを開始しています。現在、設計段階にあり、Springの永続コンテキスト/エンティティマネージャー(Hibernateを使用します)がサブフローからコミットできるかどうかを知りたいと思います。

commit属性は、end-stateからのみ使用できます。したがって、次のようなフローがある場合:

<flow>
<persistence-context />
<!-- Do some things -->
<!-- Call a subflow.  This hopefully will commit stuff. -->
<subflow-state id="foo">
</subflow-state>
<!-- Do some more things -->
<end-state id="theEnd" commit="true" />
</flow>

<!-- The Subflow -->
<flow>
<persistence-context />
<!-- Do some things -->
<!-- Do some more things -->
<end-state id="theEnd" commit="true" />
</flow>

親フローが完全に実行される前に、サブフローがそのステップをコミットできるようにする必要があります。うまくいけば、それはできます。

サブフローはコミットできますか?または、webflowはこれを禁止し、真の親フローのみをエンティティマネージャー/永続コンテキストでデータベースにコミットさせますか?

4

1 に答える 1

0

わかりましたので、答えは「はい」と「いいえ」です。サブフローは実際にはその親とは異なる永続コンテキストを割り当てられ、その永続コンテキストを使用してコミットできますが、使用中のテクノロジーが Hibernate の場合、コミット終了状態が発行される前にオブジェクトをセッションにアタッチする必要があります。

于 2009-01-28T23:20:17.033 に答える