辅导:JAVA技巧(Hibernate执行数据库操作的顺序)
来源:优易学  2011-11-6 15:34:23   【优易学:中国教育考试门户网】   资料下载   IT书店
  hibernate按照save(insert),update、delete顺序提交相关操作
  /**
  * 测试assigned主键生成策略
  *
  */
  public void testSave6() {
  Session session = null;
  Transaction tx = null;
  try {
  session = HibernateUtils.getSession();
  tx = session.beginTransaction();
  User3 user = new User3();
  user.setId("001");
  user.setName("张三");
  session.save(user);
  user.setName("王五");
  session.update(user);
  User3 user3 = new User3();
  user3.setId("002");
  user3.setName("李四");
  session.save(user3);
  //Hibernate: insert into t_user3 (name, password, create_time, expire_time, user_id) values (?, ?, ?, ?, ?)
  //Hibernate: insert into t_user3 (name, password, create_time, expire_time, user_id) values (?, ?, ?, ?, ?)
  //Hibernate: update t_user3 set name=?, password=?, create_time=?, expire_time=? where user_id=?
  //hibernate按照save(insert),update、delete顺序提交相关操作
  tx.commit();
  }catch(Exception e) {
  e.printStackTrace();
  tx.rollback();
  }finally {
  HibernateUtils.closeSession(session);
  }
  }
  /**
  * 测试assigned主键生成策略
  *
  */
  public void testSave7() {
  Session session = null;
  Transaction tx = null;
  try {
  session = HibernateUtils.getSession();
  tx = session.beginTransaction();
  User3 user = new User3();
  user.setId("003");
  user.setName("张三");
  session.save(user);
  user.setName("王五");
  session.update(user);
  session.flush();
  User3 user3 = new User3();
  user3.setId("004");
  user3.setName("李四");
  session.save(user3);
  //Hibernate: insert into t_user3 (name, password, create_time, expire_time, user_id) values (?, ?, ?, ?, ?)
  //Hibernate: update t_user3 set name=?, password=?, create_time=?, expire_time=? where user_id=?
  //Hibernate: insert into t_user3 (name, password, create_time, expire_time, user_id) values (?, ?, ?, ?, ?)
  //因为我们在session.udpate(user)后执行了flush,所以在清理缓存时执行flush前的sql不会生成
  //sql会按照我们的意愿执行
  tx.commit();
  }catch(Exception e) {
  e.printStackTrace();
  tx.rollback();
  }finally {
  HibernateUtils.closeSession(session);
  }
  }
  }

责任编辑:小草

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训