`
utyphoon
  • 浏览: 11700 次
  • 性别: Icon_minigender_1
  • 来自: 福建
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论
阅读更多
Session接口 
  
    Session接口对于Hibernate   开发人员来说是一个最重要的接口。然而在Hibernate中,实例化的Session是一个轻量级的类,创建和销毁它都不会占用很多资源。这在实际项目中确实很重要,因为在客户程序中,可能会不断地创建以及销毁Session对象,如果Session的开销太大,会给系统带来不良影响。但值得注意的是 Session对象是非线程安全的,因此在你的设计中,最好是一个线程只创建一个Session对象。 
  
    在Hibernate的设计者的头脑中,他们将session看作介于数据连接与事务管理一种中间接口。我们可以将session想象成一个持久对象的缓冲区,Hibernate能检测到这些持久对象的改变,并及时刷新数据库。我们有时也称Session是一个持久层管理器,因为它包含这一些持久层相关的操作,诸如存储持久对象至数据库,以及从数据库从获得它们。请注意,Hibernate   的session不同于JSP应用中的HttpSession。当我们使用session这个术语时,我们指的是Hibernate中的session,而我们以后会将HttpSesion对象称为用户session。 
  
    SessionFactory   接口 
  
    这里用到了一个设计模式――工厂模式,用户程序从工厂类SessionFactory中取得Session的实例。 
  
    令你感到奇怪的是SessionFactory并不是轻量级的!实际上它的设计者的意图是让它能在整个应用中共享。典型地来说,一个项目通常只需要一个SessionFactory就够了,但是当你的项目要操作多个数据库时,那你必须为每个数据库指定一个SessionFactory。 
  SessionFactory在Hibernate中实际起到了一个缓冲区的作用,它缓冲了Hibernate自动生成的SQL语句和一些其它的映射数据,还缓冲了一些将来有可能重复利用的数据。 
  
    Configuration   接口 
  
    Configuration接口的作用是对Hibernate进行配置,以及对它进行启动。在Hibernate的启动过程中,Configuration类的实例首先定位映射文档的位置,读取这些配置,然后创建一个SessionFactory对象。  
  
    虽然Configuration接口在整个Hibernate项目中只扮演着一个很小的角色,但它是启动hibernate时你所遇到的每一个对象。 
  
    Transaction   接口 
  
    Transaction接口是一个可选的API,你可以选择不使用这个接口,取而代之的是Hibernate的设计者自己写的底层事务处理代码。   Transaction接口是对实际事务实现的一个抽象,这些实现包括JDBC的事务、JTA中的UserTransaction、甚至可以是CORBA 事务。之所以这样设计是能让开发者能够使用一个统一事务的操作界面,使得自己的项目可以在不同的环境和容器之间方便地移值。 
  
    Query和Criteria接口 
  
    Query接口让你方便地对数据库及持久对象进行查询,它可以有两种表达方式:HQL语言或本地数据库的SQL语句。Query经常被用来绑定查询参数、限制查询记录数量,并最终执行查询操作。 
  
    Criteria接口与Query接口非常类似,它允许你创建并执行面向对象的标准化查询。 
  
    值得注意的是Query接口也是轻量级的,它不能在Session之外使用。 
  
    Callback   接口   
  
    当一些有用的事件发生时――例如持久对象的载入、存储、删除时,Callback接口会通知Hibernate去接收一个通知消息。一般而言,Callback接口在用户程序中并不是必须的,但你要在你的项目中创建审计日志时,你可能会用到它。
分享到:
评论

相关推荐

    session简介.doc

    session简介.doc

    PHP100视频教程 32:PHP5中Cookie与 Session详解

    1、Cookie和Session简介与区别Session信息是存放在server端,但session id是存放在client cookie的,当然php的session存放方法是多样化的,这样就算禁用cookie一样可以跟踪Cookie是完全保持在客户端的如:IE firefox...

    spring-session简介及实现原理源码分析

    主要介绍了spring-session简介及实现原理源码分析,具有一定参考价值,需要的朋友可以了解下。

    servlet之session简介_动力节点Java学院整理

    主要介绍了servlet之session简介,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    spring session介绍和源代码分享.pptx

    分布式session简介和 spring session 源码 解析 适合想了解分布式 session的基础知识,想从源码层面了解spring session的同学

    PHP100视频教程 (三十二、PHP5中Cookie与 Session详解)

    1、Cookie和Session简介与区别 Session信息是存放在server端,但session id是存放在client cookie的,当然php 的session存放方法是多样化的,这样就算禁用cookie一样可以跟踪 Cookie是完全保持在客户端的如:IE fire...

    PHP100视频教程 32:PHP5中Cookie与 Session详解.rar

    软件介绍 1、Cookie和Session简介与区别 Session信息是存放在server端,但session id是存放在client cookie的,当然php 的session存放方法是多样化的,这样就算禁用cookie一样可以跟踪 Cookie是完全保持在客户端...

    servlet中session简介和使用例子

    在servlet中,session是封装在javax.servlet.http.HttpSession这个接口中的,这个接口是构建在cookie或者URL重写的基础上,要得到一个HttpSession的实例,就可以通过HttpServletRequest的getSession()方法来获得

    asp.net中session的原理及应用详解

    Session简介丶特性 ——————————————————————————– 1.Session是一种Web会话中的常用状态之一。 2.Session提供了一种把信息保存在服务器内存中的方式。他能储存任何数据类型,包含自定义...

    session 加入redis的实现代码

    Session简介 session,中文经常翻译为会话,其本来的含义是 指有始有终的一系列动作/消息,比如打电话时从拿起电话拨号到挂断电话这中间的一系列过程可以称之为一个session。有时候我们可以看到这样的话“在 一个...

    PHP5中Cookie与 Session使用详解

    1、Cookie和Session简介与区别 在非常多时候,我们需要跟踪浏览者在整个网站的活动,对他们身份进行自动或半自动的识别(也就是平时常说的网站登陆之类的功能),这时候,我们常采用Cookie与 Session来跟踪和判断。 ...

    session配置secure和httpOnly

    本文档描述了关于cookie的http-only和secure的简介,和如何设置该属性,以及设置该属性会遇到的问题解决方法

    JSP动态网站开发基础教程与实验指导(从基础到应用)光盘

    4.5.1 Session简介 79 4.5.2 Session对象应用 80 4.6 Application对象 82 4.7 Execption对象 83 4.8 Config参数配置对象 84 4.9 Cookie对象 85 4.10 扩展练习 88 第5章 JSP访问文件 91 5.1 File类 91 5.1.1 File类...

    计算机\教程\asp.net和C#\原版教程\Session模型简介.pdf

    计算机\教程\asp.net和C#\原版教程\Session模型简介.pdf

    PHP Session机制简介及用法

    当服务器创建了一个session(session_start()),服务器将会在服务器的指定文件夹下创建一个session文件,其名称为sessionID,并当做cookie的值发送给浏览器。浏览器每次访问该服务器时便会带着这个cookie,服务器便...

    cookie-session-token:cookie、session、token简介

    cookie-session-tokencookie、session、token简介为了解决HTTP无状态,无法保存用户状态的问题产生了cookie和session1.服务端收到用户账号密码后,完成登录生成一个全局变量的session会话,作为所有鉴权脚本的通行证...

    yii操作session实例简介

    本文简述了Yii框架中使用session的方法,具体步骤如下: 一、与标准php代码的区别: 在Yii框架中,你不需要像标准PHP代码那样使用session_start(), 在Yii框架中,autoStart 属性缺省被设置为true,所以, 虽然没有...

    使用jquery操作session方法分享

    简介:  JquerySession是一个基于jquery的用来处理session的库,使用它可以简化我们的工作。在使用之前需要引入jquery。 语法: 添加数据  $.session.set(‘key’, ‘value’) 删除数据  $.session.remove(‘key...

Global site tag (gtag.js) - Google Analytics