您的位置:首页 > 编程语言 > Java开发

spring service方法里有两个save时的同步问题

2015-09-10 11:20 429 查看
如下代码,想要使两个save方法保持一致性,即第一个save方法和第二个save方法要么同时生效,要么同时不生效。只需要像这样将commonDao的两个save方法在service的方法中调用即可,已经通过测试验证。因为spring 事务是对savePayRecord方法进行的事务管理

如下代码,想要使两个save方法保持一致性,即第一个save方法和第二个save方法要么同时生效,要么同时不生效。只需要像这样将commonDao的两个save方法在service的方法中调用即可,已经通过测试验证。因为spring 事务是对savePayRecord方法进行的事务管理

public void savePayRecord(PayInfoVO payInfo) {
// TODO Auto-generated method stub
if (payInfo == null) {
return;
}
//--添加支付记录--
TaPayInfo taPayInfo = new TaPayInfo();
commonDao.save(taPayInfo);//添加支付记录完成

//-- 同时我们需要更新付费有效期表(插入或更新操作) --

StringBuilder hql = new StringBuilder();
hql.append(" select e from TaPayExpire e where e.userId = :userId and e.product = :product ");
HashMap<String, Object> params = new HashMap<String, Object>();
params.put("userId", payInfo.getUserId());
params.put("product", payInfo.getProduct());

TaPayExpire e = (TaPayExpire)commonDao.get(hql.toString(), params);

if (e == null) {
//不存在该用户的付费有效期记录那么就插入一条新纪录
TaPayExpire newPayExpire = new TaPayExpire();
commonDao.save(newPayExpire);
// commonDao.save(null);

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: