Hibernate一个方法如果 多次操作数据库,如何添加事务管理,后台java代码参考如下,注意注解@Transactional
import org.springframework.transaction.annotation.Transactional;
/**
* 更新t_exception_log表并添加记录到T_EXCE_PROC_LOG表
*/
@Transactional
public voidupdateProcessRecord(String elogid, String nofified, String note,String loginId)throws Exception {
List<Object> params = newArrayList<Object>();
StringBuffer hql = newStringBuffer();
hql.append(" updatet_exception_log l set l.notified= ? where l.id= ? ");
params.add(Long.parseLong(nofified));
params.add(elogid);
hibernateDao.updateBySql(hql.toString(),params.toArray());
//添加记录到T_EXCE_PROC_LOG表
TExceptionLog exceptionLog =findTExceptionLogId(Long.parseLong(elogid));
TExceProcLog procLog = newTExceProcLog();
procLog.setTExceptionLog(exceptionLog);
procLog.setCreatedBy(Long.parseLong(loginId));
procLog.setCreatedTime(newDate());
procLog.setStatus(Long.parseLong(nofified));
procLog.setDescr(note);
hibernateDao.saveOrUpdate(procLog);
}