session中的重要方法

来源:互联网 发布:庞博 程序员等级 编辑:程序博客网 时间:2024/05/23 23:36

这是hibernate提供给我们的接口,我们使用这些接口操作数据库

*持久化操作

session.delete(Object object);//删除一个对象

session.get(Class entityType,Serializable id);//根据序列化对象查询对象(始终发出sql语句)

session.load(Class entityType,Seriazable id);//根据序列化对象查询对象(采用延迟加载策略)

session.merge(Object entity);//只有在事务中才执行,保存或更新

session.saveOrUpdate(Object object);//保存或更新

session.persist(Object entity);//只有在事务中才执行,保存对象

session.save(Object entity);//保存对象

session.update(Object entity);//更新对象

*事务相关

session.beginTransaction();//开启一个事务

session.getTransaction();//得到这个session上的事务

*一级缓存相关

session.clear();//清空session中的所有缓存

session.contains(Object entity);//session中是否有这个对象

session.evict(Object entity);//从session中删除这个对象

session.flush();//强制同步到数据库

session.refresh(Object entity);//强制从数据库查询这个对象,让数据库同步到session

*其它

session.close();//关闭session

session.doWork(Work work);//绕过hibernate直接操作connection,没有返回值

session.doWork(ReturnningWork work);//绕过hibernate直接操作connection,有返回值

原创粉丝点击