在调试的过程当中,遇到了org.hibernate.TransactionException: Transaction not successfully started
到网上查了一下资料,网友反应说是session的关系,我是直接获取HibernateTemplate的session,然后beginTransaction(),
这样出现上述的错误,改为openTransaction的话,问题解决了。
原来的代码如下:
try{
Transaction transaction = super.getHibernateTemplate().getSession().beginTransaction();
super.saveAll(list);
super.deleteAll(mainList);
transaction.commit();
}catch(Exception e){
e.printStackTrace();
LOGGER.error("多条日志详细信息记录转储失败",e);
}
修改成如下的代码问题得到了解决:
Session session = super.getHibernateTemplate().getSessionFactory().openSession();
try{
Transaction transaction = session.beginTransaction();
super.saveAll(list);
super.deleteAll(mainList);
transaction.commit();
}catch(Exception e){
e.printStackTrace();
LOGGER.error("多条日志详细信息记录转储失败",e);
}finally{
session.close();
}