首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

Spring 事宜

2012-09-08 
Spring 事务?Spring 事务不回滚的问题关键是:不能对该异常用try...catch处理,否则不会回滚事务!?@Service(

Spring 事务

?

Spring 事务不回滚的问题关键是:不能对该异常用try...catch处理,否则不会回滚事务!

?

@Service("systemConfigService")public class SystemConfigServiceImpl extends AbstractGenericService<SystemConfig> implements SystemConfigService {@Resource(name="systemConfigDAO")private SystemConfigDAO systemConfigDAO;@Overridepublic void deleteByIds(String id) {if(id != null){String[] ids = id.split(",");try {SystemConfig systemConfig = systemConfigDAO.get(2);systemConfig.setValue("测试值");systemConfigDAO.update(systemConfig);// 执行如下操作,数据库将报唯一索引重复问题// Caused by: java.sql.BatchUpdateException: Duplicate entry 'PORTAL.CITYCODE' for key 'name'SystemConfig systemConfig2 = systemConfigDAO.get(2);systemConfig2.setName("PORTAL.CITYCODE");systemConfigDAO.update(systemConfig2);} catch (Exception e) {log.error(e);// 如果注释掉throw new RuntimeException,那么事务将不能回滚,因为spring捕捉不到Exception// 解决办法,去掉try catch,或者在cache中抛出异常以便spring捕获throw new RuntimeException("运行时出错!"); }}}}

热点排行