hibernateTemplate里的事物处理

来源:互联网 发布:php 适配器设计模式 编辑:程序博客网 时间:2024/05/18 04:01

public static void main(String ss[]) {
  CtxUtil.getBaseManager().getHibernateTemplate().setFlushMode(0);// 0也就是FLUSH_NEVER,表示后面有且仅提交一次事物
  CtxUtil.getBaseManager().getHibernateTemplate().execute(
   new HibernateCallback() {
    public Object doInHibernate(Session session)
      throws HibernateException, SQLException {
     session.connection().setAutoCommit(false); //设置事物提交方式为手动
     // 保存stu1
     Student stu1 = new Student();
     stu1.setName("aaaa");                                       // 在数据库中,name字段不允许为null
     session.save(stu1);

     Student stu2 = new Student();
     stu2.setName("sdf");
     session.save(stu2);                                            // 没有设置name字段,预期会报出例外

     session.flush();
     session.connection().commit();
     return null;
    }
  });
 }

原创粉丝点击