这是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,有返回值