使用Spring 3.1,鑽嘴魚科,休眠Spring的事務在JSF
的applicationContext.xml
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
...
</bean>
<tx:annotation-driven />
<bean id="transactionManager"
class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<context:component-scan base-package="mypackage"/>
TestBean.java
@Component
@Scope("session")
public class TestBean {
@Autowired private @Getter @Setter HibernateTemplate hibernateTemplate=null;
public String submit(){
try{
this.test();
}catch (RuntimeException ex) {
FacesUtil.addWarn("Error");
}
return null;
}
@Transactional
public String test() {
Device d1=new Device();
hibernateTemplate.persist(d1);
if(1==1)
throw new RuntimeException("Testing");
Device d2=new Device();
hibernateTemplate.persist(d2);
return null;
}
}
此作品(回滾),但顯示在瀏覽器異常
<h:commandButton value="Submit" action="#{testBean.test}"/>
試圖表明faces消息,但這種承諾D1
<h:commandButton value="Submit" action="#{testBean.submit}"/>
調用一些其他bean的(DAO)事務方法太的作品,但我想有代碼託管bean itself.How,我應該JSF處理事務?對於分層架構服務和DAO層,直接處理事務的管理豆