首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Spring中编程式事务处理(施用TransactionTemplate)

2012-10-07 
Spring中编程式事务处理(使用TransactionTemplate)Spring的编程式事务处理,需要使用Hibernate事务回调接口

Spring中编程式事务处理(使用TransactionTemplate)
Spring的编程式事务处理,需要使用Hibernate事务回调接口,事务回调接口可以管理Hibernate的事务:

TransactionCallbackWithoutResult —— 执行事务没有返回值,例如save、update、delete等等;

TransactionCallback —— 执行事务处理后有返回值,如find要返回结果集(List);

spring相关配置



public void createPerson(final Person person) {   transactionTemplate.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);   transactionTemplate.execute(new TransactionCallbackWithoutResult(){    // 使用无返回值的事务回调接口    @Override    protected void doInTransactionWithoutResult(TransactionStatus arg0) {     getHibernateTemplate().save(person);        }      });}public Person queryOnePerson(final String hql) {   transactionTemplate.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);   return (Person)transactionTemplate.execute(new TransactionCallback(){     // 使用带返回值的事务回调接口    public Object doInTransaction(TransactionStatus arg0) {     return getHibernateTemplate().find(hql).get(0);    }      });}

热点排行