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

joker_zhou 发布于 2014/10/29 18:33
阅读 1K+
收藏 1

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()方法就可以回滚为什么?

加载中
0
GITTODO
GITTODO
配置事物没有?getCurrentSession()获取session要配置:    <prop key="hibernate.current_session_context_class">org.springframework.orm.hibernate4.SpringSessionContext
    </prop>
0
joker_zhou
joker_zhou
问题不晓得我用传统的xml配置就可以...
返回顶部
顶部