hibernate事务提交问题~~急急急

chenkuan85 2009-08-13 11:15:19
请大家帮帮忙:
Session session = this.getSession();
Transaction tx = session.beginTransaction();
try{
。。。
for(int i =0;i<len;i++){ //len<10

dto.setColorname(colorName);
session.save(dto);
session.flush();
session.evict(dto);
}
tx.commit();
}catch(HibernateException e){
if (null != tx) {
tx.rollback();
}
throw e;
}finally{
session.close();
}

报错:org.hibernate.TransactionException: Transaction not successfully started 困扰半天了~请大家帮忙,先谢了
...全文
59 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
【如鱼饮水】 2009-08-13
  • 打赏
  • 举报
回复
protected void commitSession(Session session){
session.getTransaction().commit();
}
protected void closeSession(Session session, SessionFactory sessionFactory) {
session.flush();

try {
commitSession(session);
} catch (HibernateException e) {
// TODO Auto-generated catch block//
e.printStackTrace();
}

super.closeSession(session, sessionFactory);
}

}

如果递归函数里,有个session.beginTransaction(),或者transaction.commit();的话……就会出现 “Transaction not successfully started”异常……解决办法也很简单,把除了session.beginTransaction();和 transaction.commit();以外的语句拿出来,做个方法,递归那个就好了……
chenkuan85 2009-08-13
  • 打赏
  • 举报
回复
楼上的回答我看到过,还是谢了。现在改用jdbc进行批量插入了

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧