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() 把对象变成持久对象但不会同步对象的状态