我和我的团队目前正在使用Spring 2.5.6和Spring Webflow 2.0(JDK 1.4.2)启动项目。我们现在正处于设计阶段,我想知道Spring的Persistence上下文/实体管理器(我们将使用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会禁止这个,只让真正的父流使用其实体管理器/持久化上下文提交到数据库?
答案 0 :(得分:0)
好的,答案是,是的,不是。子流实际上被分配了一个与其父进程不同的持久性上下文,并且它可以使用该持久性上下文来提交,但是如果使用的技术是Hibernate,则必须在发出提交结束状态之前将对象附加到其会话。 / p>