日期:2014-05-16 浏览次数:20498 次
1.save()——规范例子:
??
public void addUser(User user){ Session session = null; Transaction tx = null; try{ session = HibernateUtil.getSession(); tx.session.beginTransaction(); session.save(user); tx.commit(); }catch(HibernateException e){ if(tx != null){ tx.rollback(); } throw e; }finally{ if(session != null){ session.close(); } } }
?
?2.get()——get方法可以不要打开事务,会立刻访问数据库
public User getUser(int id){ Session session = null; //Transaction tx = null; try{ session = HibernateUtil.getSession(); //tx.session.beginTransaction(); session.get(User.class,id); //tx.commit(); return user; }finally{ if(session != null){ session.close(); } } }
?
?显示sql语句配置:
<properties name="show_sql" value="true">
3.load()——和get类似。当使用的才加载,永远都不会为空,返回的是代理不会立即访问数据库
即:if(user != null)是不对的它永远都不为空。
4.merge()和更新一样
5.persist()和save()一样,区别在于有没有开启事务。persist在事务外不会产生insert语句
6.saveOrUpdate()
7.delete() 删除对象
8.update() 更新对象,如果数据库中没有记录会出现异常
9.lock() 把对象变成持久对象但不会同步对象的状态