2008-12-17 37 views
0

我和我的團隊正在使用Spring 2.5.6和Spring Webflow 2.0(JDK 1.4.2)啓動一個項目。我們現在處於設計階段,我想知道Spring的持久化上下文/實體管理器(我們將使用Hibernate)是否可以通過子流提交。Spring Webflow 2.0的實體管理器可以從子流狀態提交嗎?

commit屬性只能在最終狀態下使用。所以,如果我們有這樣的流程:

<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會禁止這一點,只讓真正的父流使用它的實體管理器/持久性上下文來提交數據庫?

回答

0

好的,答案是肯定的,不是。子流實際上被分配了一個不同於它的父節點的持久化上下文,並且它可以使用該持久化上下文來提交,但是如果使用的技術是Hibernate,那麼在發出提交結束狀態之前,對象必須被附加到它的會話中。