`
jef
  • 浏览: 118766 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JavaDoc:org.springframework.orm.hibernate3

阅读更多


试翻,绝对的仅供参考!:)

 

org.springframework.orm.hibernate3.SessionFactoryUtils

 

Hibernate Session处理协助类,允许事务范围内的Session重用。同样提供了异常信息的转义。

支持受Spring管理及不受Spring管理的JTA事务同步(例如简单JTA或者EJB CMT),透明的支持事务范围内的Hibernate Sessions。注意:对于不受Spring管理的JTA事务,必须在Hibernate的配置当中指定JTA的TransactionManagerLookup。

 

org.springframework.orm.hibernate3.SessionHolder

 

包装了Hibernate Session及Hibernate事务的Session holder。在一个给定的Session工厂(SessionFactory)中的Hibernate事务管理对象( HibernateTransactionManager )绑定该类实例至当前线程。

 

org.springframework.orm.hibernate3.SpringSessionContext

 

Hibernate 3.1's CurrentSessionContext接口实现类,SessionFactoryUtils通过该类实例获得spring管理下与当前线程绑定的Session。

Used by Spring's LocalSessionFactoryBean when told to expose a transaction-aware SessionFactory. This is the default as of Spring 2.5.

你可以自定义不同的CurrentSessionContext接口实现,并在设置SessionFactory工厂时,通过hibernate.current_session_context_class属性指定您的CurrentSessionContext实现。

 

 

org.springframework.orm.hibernate3.LocalSessionFactoryBean

 

FactoryBean接口创建了Hibernate的Session工厂。这是在spring应用环境中安装Hibernate Session工厂的常用方式(请参考FactoryBean接口);
通过依赖注入,这个Session工厂可以被传递到基于Hibernate支持的Dao中。

对于该类的配置及可以通过xml格式的Hibernate配置文件(通过制定“configLocation”属性),也可以完全通过该类完成。一个典型的配置总是由
一个或者多个"mappingResources"属性,"hibernateProperties" 属性(不是绝对必须的), 和一个“dataSource”属性(SessionFactory使用)完成。
“dataSource”属性同样可以由Hibernate的配置文件指定。但是这里的“dataSource”属性(指当前类内部的)支持任何基于Spring配置的DataSource,
而不仅仅是Hibernate所依赖的数据库连接提供者。

从单个数据库应用到分布式事务,SessionFactory的处理策略适用于大多数的应用。Hibernate事务管理对象或者JTA事务管理对象可用于不同的
场合,JTA事务管理对象仅用于多个数据库的事务处理。

默认情况下这个工厂对象将会派生出一个事务感知(transaction-aware)的SessionFactory型代理对象。无论使用任何事物管理策略
(local/JTA/EJB CMT)或者任何事物同步机制(Sping/JTA),Spring均可以使数据在使用原生Hibernate Session工厂,getCurrentSession()方法
的同时仍旧可以参与Spring管理的当前事务过程(ThreadLocal)。此外,getCurrentSession()方法对请求范围内的Session对象(由OpenSessionInViewFilter / OpenSessionInViewInterceptor管理的)提供了完美支持。

 

org.springframework.orm.hibernate3.HibernateTransactionManager

HibernateTransactionManager是一个为Hibernate Session工厂提供服务的PlatformTransactionManager接口实现。
HibernateTransactionManager和一个绑定在当前线程上的Hibenrate Session对象进行捆绑。SessionFactoryUtils对
象和HibernateTemplate对象可以感知当前线程内的Session对象,并自动参与当前线程内的事务处理。Using either
of those or going through SessionFactory.getCurrentSession() is required for Hibernate access code that needs
to support this transaction handling mechanism.


支持自定义的隔离级别,及Hibernate事务超时设定。

这个事务管理对象很适合于那种使用单Hibernate Session工厂的事务型数据访问应用,但是它也同样支持在一个事务中
直接的数据源访问(例如相同数据源的JDBC代码访问)。这样就允许混合型的应用代码,例如使用Hibernate访问,使用
JDBC访问(并不知道同时使用了Hibernate)!Application code needs to stick to the same simple Connection lookup
pattern as with DataSourceTransactionManager  (i.e. DataSourceUtils.getConnection(javax.sql.DataSource)  or going
through a TransactionAwareDataSourceProxy). 

 

....................

 

org.springframework.orm.hibernate3.HibernateAccessor

HibernateTemplate和HibernateInterceptor父类,定义了像SessionFactory,flushing行为等通用属性。

不要尝试直接使用该类。请参考HibernateTemplate和HibernateInterceptor.

 

org.springframework.orm.hibernate3.HibernateInterceptor

这个拦截器在进入方法调用之前为当前线程绑定一个新的Hibernate Session实例,在方法执行完毕之后关闭并移除。
如果当前线程内已存在Session实例(来自HibernateTransactionManager对象或者已被Hibernate拦截器拦截的方法
环境),这个拦截器将会使用已有的Session实例。

应用代码必须通过SessionFactoryUtils.getSession方法或者更好的方式——Hibernate自己的SessionFactory.getCurrentSession()
方法获得与当前线程绑定的Session对象。通常情况下,代码如下所示:

public void doSomeDataAccessAction() {
  Session session = this.sessionFactory.getCurrentSession();
  ...
  // No need to close the Session or translate exceptions!
}

 

注意:通过委托的SessionFactoryUtils.convertHibernateAccessException方法,拦截器将会自动的将Hibernate异常
转换成与org.springframework.dao异常体系兼容的异常(像HibernateTemplate那样)。如果想要获取原始异常,可
以关闭这个功能。

这个类可以认为是HibernateTemplate回调方法的一个替代方案。优点是:
    1)回调方法不需要使用匿名类。
    2)在数据访问的应用代码中可以抛出任何应用异常。
缺点是依赖额外的拦截配置。然而,需要注意的是,通常情况下,在一个事务内部执行的数据访问代码不需要配置该
拦截器。在事务开始的起点将会有一个与线程绑定的Session实例,所以增加这个拦截器仅仅是在需要对Session实例
的属性微调例如flush模式 - 或者需要异常转义的时候。

 

org.springframework.orm.hibernate3.HibernateTemplate


简化Hibernate数据访问代码的辅助类。自动转换Hibernate原生异常为符合org.springframework.dao异常体系的DataAccessExceptions异常。

最重要execute方法支持实现了HibernateCallback接口的Hibernate访问代码。无论是HibernateCallback接口实现或
者其他的调用代码,无需关心对Session对象的获取和关闭以及Session对象的生命期异常。对典型的单步骤调用,提
供了多种便利方法(find, load, saveOrUpdate, delete)。

在一个service实现中可以通过一个SessionFactory引用直接获得该实例,或者在一个应用的上下文环境中获得一个配
置好的实例作为该service的内部引用。注意:SessionFactory应当永远以bean的形式被配置在应用的上下文当中,第
一种情况下直接提供给service实现,第二种情况提供模板实例引用。

.........

分享到:
评论

相关推荐

    spring-framework-4.3.14.RELEASE-docs.zip

    - **数据访问API**:包括`org.springframework.jdbc.core.JdbcTemplate`和`org.springframework.orm.hibernate5.LocalSessionFactoryBean`等,它们提供了与数据库交互的便利工具和配置对象。 - **Web模块API**:如...

    spring-framework-4.2.4.RELEASE-docs.zip

    4. **org.springframework.orm**:针对ORM框架的抽象,如HibernateTemplate、JpaTemplate,简化了持久层操作。 5. **org.springframework.aop**:面向切面编程的相关接口和类,如Aspect、Pointcut,以及AOP代理的...

    最新版spring-framework-4.3.12.RELEASE-docs.zip源码

    例如,`org.springframework.beans.factory.annotation.Autowired`注解用于实现依赖注入,`org.springframework.web.bind.annotation.RequestMapping`用于处理HTTP请求映射,`org.springframework.context....

    Spring API doc

    `org.springframework.aop`和`org.springframework.context.support`包下的类和接口,如`Advisor`、`Pointcut`、`Aspect`和`ProxyFactoryBean`,是实现AOP的关键。 4. **Data Access/Integration**:Spring提供了对...

    最新 spring-framework-4.2.5 英文官方文档,包含html、pdf、epub等

    6. **数据访问集成**:Spring支持多种数据存储,包括JDBC、ORM框架(如Hibernate、JPA)以及NoSQL数据库。它提供了一套通用的数据访问抽象层,使得更换数据库变得更加容易。 7. **事务管理**:Spring提供了声明式和...

    spring-framework-3.0.0.M2 javadoc-api

    Spring支持多种数据库访问技术,包括JDBC、ORM(Object-Relational Mapping)框架如Hibernate和MyBatis。在3.0.0.M2版本中,API文档详细介绍了如何配置数据源、事务管理器,以及如何使用模板和DAO模式进行数据操作...

    最新版spring-framework-4.3.9.RELEASE-docs.zip源码

    2. **数据访问/集成**:这部分涵盖了与数据库交互的各种方式,如JDBC抽象层、ORM支持(Hibernate、JPA等)、OXM(Object-XML Mapping)以及NoSQL数据库的支持。 3. **Web**:Spring Web模块提供了构建Web应用程序的...

    spring-5.3.9-docs.zip

    3. **数据访问/集成**:Spring支持多种数据访问技术,如JDBC、ORM(Hibernate、MyBatis等)、JPA等,并提供了事务管理支持。 4. **Web**:包括MVC框架,用于构建Web应用程序。5.3.9版本可能对控制器、视图解析、...

    spring-framework-5.0.5.RELEASE官方完整包加官方文档

    - **spring-framework-5.0.5.RELEASE-docs.zip**:包含了完整的官方文档,包括Javadoc和用户指南,是深入学习Spring的必备资源。 总之,Spring Framework 5.0.5.RELEASE为开发者提供了全面的工具集,以简化复杂的...

    spring-framework-3.2.0.RELEASE-docs.zip

    通过深入学习和理解Javadoc API和Spring Framework Reference,开发者可以充分利用Spring的强大功能,提升应用的质量和效率。在实际项目中,正确地运用Spring框架,将有助于构建出健壮、可扩展且易于维护的软件系统...

    最新版spring-framework-4.3.11.RELEASE-docs.zip源码

    3. **数据访问/集成**:Spring提供了对JDBC、ORM(Object-Relational Mapping)框架(如Hibernate、JPA)以及NoSQL数据库的支持,简化了数据库操作。 4. **Web模块**:Spring MVC是Spring提供的Web应用开发模型,它...

    spring-framework-4.3.7.RELEASE-docs

    - **数据访问/集成**:这部分涵盖了对各种数据源的支持,如JDBC、ORM(Hibernate、JPA)和OXM(Object/XML Mapping)。Spring提供了一致的编程模型,使得数据访问变得简单且易于测试。 - **Web**:Spring MVC是...

    spring-framework-2.0.7 java doc

    同时,它也支持ORM框架,如Hibernate和MyBatis,提供了与这些框架的集成。 5. **MVC(Model-View-Controller)**:Spring MVC是用于构建Web应用程序的模块,它处理HTTP请求,分离了业务逻辑、视图和控制层,提高了...

    spring4 官方帮助文档 api

    例如,`org.springframework.beans.factory.BeanFactory`接口是Spring的核心,定义了获取和管理Bean的方法;`org.springframework.web.bind.annotation.RequestMapping`注解用于映射HTTP请求到处理方法;而`org....

    spring+hibernate配置与jar的配置下载

    - [Hibernate官网](http://hibernate.org/orm/) 在下载完成后,将所需的库文件添加到项目的Classpath中即可。 以上就是关于Spring与Hibernate集成配置的基本知识点,希望对你有所帮助。在实际开发过程中,还...

    Spring Framework4.1.5

    《Spring Framework 4.1.5详解:打造高效企业级应用》 Spring Framework作为Java开发中的核心框架,自诞生以来就以其强大的功能和灵活的设计深受开发者喜爱。4.1.5版本是Spring发展过程中的一个重要里程碑,它在4.x...

    spring-framework-4.1.1.RELEASE-docs

    3. 数据访问/集成:包括JDBC、ORM(Object-Relational Mapping)支持,如Hibernate、JPA,以及对NoSQL数据库的支持,如MongoDB。 4. Web MVC:Spring的Web MVC框架提供了强大的MVC模式实现,支持RESTful风格的Web...

    最新版spring-framework-4.3.10.RELEASE-docs.zip源码

    3. **数据访问**:Spring提供了对各种数据库的抽象,包括JDBC、ORM(Object-Relational Mapping)框架如Hibernate、MyBatis等,简化了数据库操作。 4. **Spring MVC**:Spring的Web MVC框架,用于构建高性能的Web...

    spring 4.3.6 文档

    例如,`org.springframework.context.ApplicationContext`接口是Spring的核心,它代表了一个应用上下文,提供了bean的管理和服务定位。此外,`org.springframework.web.bind.annotation.RequestMapping`注解用于处理...

    spring mvc hibernate jar包

    3. **Spring Framework** - `spring-context-4.3.5.RELEASE-javadoc.jar`, `spring-webmvc-4.3.5.RELEASE-javadoc.jar`, `spring-web-4.3.5.RELEASE-javadoc.jar`, `spring-beans-4.3.5.RELEASE-javadoc.jar`, `...

Global site tag (gtag.js) - Google Analytics