个人感觉 没什么问题啊 @Transactional
public class WorkoutBusiness implements IWorkoutBusiness {  这个 类的  事务 去掉 试试 ,,  个人感觉全局的事务这样用没什么问题。,。  

解决方案 »

  1.   

     还不行 加上 readonly = "false" 
      

  2.   

    @Transactional(readOnly=false,propagation=Propagation.REQUIRED)
    public void saveNewUser(UserInfo user)  {
    // Session session = sessionFactory.openSession();
    Session session = sessionFactory.getCurrentSession();
    // Transaction tran = session.beginTransaction();
    // tran.begin();
    session.save(user);
    //tran.commit();
    //session.close();
    }还是不行,感觉没有走完的样子, System.out.println("进------------");
    service.saveNewUser(user);
    System.out.println("出----------------");
    action 只能打印出进 出没打印出来,但没有报错
      

  3.   

    你save的操作时,控制台有打印出插入语句吗?
      

  4.   

    并且 我FOR循环插入多条数据的时候 第一条插进去了 以后的违反唯一约定没插进去,感觉 事务没起作用
      

  5.   

    你现在的事务边界是 saveNewUser 方法吧?是的话如果你是循环调用这个方法来插入数据,那每调用一次就是一次事务。所以说一般把事务开在service层
      

  6.   

    @Transactional(readOnly=false,propagation=Propagation.REQUIRED)
    public void saveNewUser(UserInfo user)  {
    // Session session = sessionFactory.openSession();
    Session session = sessionFactory.getCurrentSession();
    // Transaction tran = session.beginTransaction();
    // tran.begin();
    session.save(user);
    //tran.commit();
    //session.close();
    }还是不行,感觉没有走完的样子, System.out.println("进------------");
    service.saveNewUser(user);
    System.out.println("出----------------");
    action 只能打印出进 出没打印出来,但没有报错你 try catch 抛出异常啊