如下代码,想要使两个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);
}
}