仅hibernate操作

 public void testSave1() {  
 
  Session session = null;  
  Transaction tx = null;  
  try {  
   session = HibernateUtils.getSession();  
   tx = session.beginTransaction();  
   User1 user = new User1();  
   user.setName("李四");  
   user.setPassword("123");  
   user.setCreateTime(new Date());  
   user.setExpireTime(new Date());  
     
   //因为user的主键生成策略采用的是uuid,所以调用完成save后,只是将user纳入到了session
的管理  
   //不会发出insert语句,但是id已经生成,session中existsInDatebase状态为false  
   session.save(user);  
     
   //调用flush,hibernate会清理缓存,执行sql  
   //如果数据库的隔离级别设置为未提交读,那么我们可以看到flush过的数据  
   //并且session中existsInDatebase状态为true  
   session.flush();  
     
   //提交事务  
   //默认情况下commit操作会先执行flush清理缓存,所以不用显示的调用flush  
   //commit后数据是无法回滚的  
   tx.commit();  
  }catch(Exception e) {  
   e.printStackTrace();  
   tx.rollback();  
  }finally {  
   HibernateUtils.closeSession(session);  
  }  
 }

 

获取session,如何打开实物管理!

结束关闭!

 

本文出自 “东方小阁” 博客,请务必保留此出处http://lailai.blog.51cto.com/3362373/1545188

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。