开发者社区> 问答> 正文

Spring3+hibernate3 在dao层使用Query的executeUpdate不回滚

Dao层

@Override

public int updateRetrailState(Integer orsa_id, int srcState,
int targetState, String userName) {
String hql="update RBSaleruoverapp ap set ap.oroaState = :oroaState ,ap.oroaReviewnametwo=:oroaReviewnametwo where ap.oroaId=:oroaId and ap.oroaState = :checkOroaState";
Session session=getSession();
// Transaction transaction= session.beginTransaction();
Query query= session.createQuery(hql);
query.setParameter("oroaState", RBSaleruoverapp.STATE_REPEATED);
query.setParameter("oroaReviewnametwo", userName);
query.setParameter("oroaId", orsa_id);
query.setParameter("checkOroaState", RBSaleruoverapp.STATE_FIRST);
int i = query.executeUpdate();
System.out.println("修改完毕");
// transaction.rollback();
return i;
}

service层出错不回滚,但是在sessionFactory.getCurrentSession().saveOrUpdate()方法就可以回滚为什么?

展开
收起
a123456678 2016-03-17 15:09:15 2391 0
1 条回答
写回答
取消 提交回答
  • 配置事物没有?getCurrentSession()获取session要配置: org.springframework.orm.hibernate4.SpringSessionContext

    </prop>
    2019-07-17 19:05:28
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载

相关实验场景

更多