Session 用于获取与数据库的物理链接。 Session 对象是轻量级的,而且设计为在每次须要与数据库进行交互时被实例化。持久态对象被保存,并经过 Session 对象检索找回。数据库
该 Session 对象不该该长时间保持开放状态,由于它们一般不能保证线程安全,而应该根据需求被建立和销毁。Session 的主要功能是为映射实体类的实例提供建立,读取和删除操做。这些实例可能在给定时间点时存在于如下三种状态之一:安全
瞬时状态就是刚new出来一个对象,尚未被保存到数据库中,持久化状态就是已经被保存到数据库中,离线状态就是数据库中有,可是session中不存在该对象。若 Session 实例的持久态类别是序列化的,则该 Session 实例是序列化的。若是 Session 引起异常,则事务必须被回滚,该 session 必须被丢弃。session
Session接口经常使用方法spa
开始工做单位,并返回关联事务对象。线程
取消当前的查询执行。设计
彻底清除该会话。对象
经过释放和清理 JDBC 链接以结束该会话。接口
为给定的实体类或实体类的超类建立一个新的 Criteria 实例。事务
为给定的实体名称建立一个新的 Criteria 实例。字符串
返回与给定实体相关联的会话的标识符值。
为给定的集合和过滤字符建立查询的新实例。
为给定的 HQL 查询字符建立查询的新实例。
为给定的 SQL 查询字符串建立 SQLQuery 的新实例。
从数据存储中删除持久化实例。
从数据存储中删除持久化实例。
返回给定命名的且带有给定标识符或 null 的持久化实例(若无该种持久化实例)。
获取建立该会话的 session 工厂。
从基本数据库中从新读取给定实例的状态。
获取与该 session 关联的事务实例。
检查当前 session 是否链接。
该 session 中是否包含必须与数据库同步的变化?
检查该 session 是否仍处于开启状态。
先分配一个生成的标识,以保持给定的瞬时状态实例。
保存(对象)或更新(对象)给定的实例。
更新带有标识符且是给定的处于脱管状态的实例的持久化实例。
更新带有标识符且是给定的处于脱管状态的实例的持久化实例。