`
shelleyhacker
  • 浏览: 15825 次
  • 性别: Icon_minigender_1
  • 来自: 南京
文章分类
社区版块
存档分类
最新评论

关于spring整合hibernate的一些概念

阅读更多
   最近初学spring,整合hibernate遇到了种种问题,包括sessionfactory 的注入;

(1):spring 的自带的 实现sessionfactory接口的类AnnotationSessionFactoryBean(其实源代码中并没有实现此接口,但是sessionfactory的方法初始化的时候被动态切入到此类当中),beans.xml 如下:
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    <property name="dataSource" ref="dataSource"/>
    <property name="annotatedClasses">
      <list>
        <value>com.shelley.model.User</value>
      </list>
    </property>
    <property name="hibernateProperties">
     <!--   <value>
        hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect
      </value>-->
      <props>
      <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
      <prop key="hibernate.show_sql">true</prop>
      <!--  <prop key="hibernate.jdbc.use_get_generated_keys">false</prop>-->
      </props>
    </property>
  </bean>

对以上的配置信息中可以看到:参数1为:dataSource,即注入数据源连接池类,此类同样可以通过spring 来指定;参数2为:表映射的实体类的数组;参数3:为注入一些hibernate一些配置参数,由AnnotationSessionFactoryBean的父类中方法public void setHibernateProperties(Properties hibernateProperties) {
this.hibernateProperties = hibernateProperties;
} 来实现,是一个Properties 数据类型 。


(2):Transaction  annotation properties 主要分为propagation ,isolation,readOnly,timeout,rollbackFor,rollbackForClassname,noRollbackFor,noRollbackForClassname

properties propagation  :分为
MANDATORY,NESTED,NEVER,NOT_SUPPORTED,REQUIRED,REQUIRED_NEW,SUPPORTS

最常用的是 REQUIRED 如果当前没有Transaction ,则创建一个;REQUIRED_NEW则是直接创建新的事物,挂起当前事务。
NESTED ,嵌套事务处理,回滚到保存点操作,不常用。

properties  readOnly 不容许进行删除,插入,更新数据库的操作,一般是提高性能之用。


properties  rollbackFor  回滚原因设置,默认是RuntimeException ,一般不用设。





大多数情况下,事务管理都是XML 配置。


(3):HibernateTemplate , HibernateCallback ,HibernateDaoSupport(不重要);
  HibernateTemplate  用来简化如try catch  finally  这些代码块 ,实现类org.springframework.orm.hibernate3.HibernateTemplate  ,需要注入 SessionFactory 类。
======================================================================
   <1>设计模式: Template Method
   <2>Callback : 回调/钩子函数
    <3>第一种:(建议)
      a.在spring中初始化HibernateTemplate,注入sessionFactory
      b.DAO 里注入 HibernateTemplate
      c.save 写   hibernateTemplate.save();


可以写一个SuperDao 来注入HibernateTemplate,然后其他Dao来继承 。。。
   <4>第二种:(不常用)
      a.从HibernateDaoSupport继承
       b.必须写在XML中,无法使用Annotation,因为set方法在父类中,且是final的。
======================================================================

待续 ,继续学习补充中 。
分享到:
评论

相关推荐

    Struts+Spring+Hibernate开发实例 (SSH整合)

    本文并不想介绍Struts,Spring,Hibernate的原理系统架构等,本文地目的是通过一个较复杂地实例介绍如何整合Struts,Spring,Hibernate,网上现有的例子虽然也能达到目的,但功能都比较单一,复杂的例子时会有...

    Struts+Spring+Hibernate之选课系统

    本文并不想介绍Struts,Spring,Hibernate的原理系统架构等,本文的目的是通过一个较复杂地实例介绍如何整合Struts,Spring,Hibernate,网上很多资料介绍的例子虽然也能达到目的,但功能都比较单一,复杂的例子时会...

    spring+spingmvc+hibernate整合总结

    文档中总结了这三大技术的重点概念,十分适合作为期末考试的复习资料

    Spring的学习笔记

    三、 Spring整合hibernate3事务 31 (一) Annotation注解方式配置事务管理 31 (二) Spring事务选项 35 (三) XML文件形式配置Spring事务管理 37 四、 HibernateTemplate 38 (一) HibernateTemplate 38 (二) ...

    spring2.5学习PPT 传智博客

    搭建和配置Spring与Hibernate整合的环境 26.Spring集成的Hibernate编码与测试 27.Struts与Spring集成方案1(Struts集成Spring) 28.Struts与Spring集成方案2(Spring集成Struts) 29.为Spring集成的Hibernate配置二...

    中软spring培训讲义

    Spring 基本概念(IOC);AOP;Spring 整合Struts,Hibernate

    ibatis与Spring整合例子

    Spring通过DAO模式,提供了对iBATIS的良好支持。SqlMapClient对象是iBATIS中的主要对象,我们可以通过配置让spring来管理SqlMapClient对象的创建。 与hibernate类似,Spring 提供...看起来这些概念都与hibernate类似。

    spring2.5 学习笔记

    三、 Spring整合hibernate3事务 31 (一) Annotation注解方式配置事务管理 31 (二) Spring事务选项 35 (三) XML文件形式配置Spring事务管理 37 四、 HibernateTemplate 38 (一) HibernateTemplate 38 (二) ...

    Spring、SpringMVC和Mybatis框架整合包

    手把手教你整合最优雅SSM框架:SpringMVC + Spring + MyBatis 博客地址:http://blog.csdn.net/qq598535550/article/details/51703190 我们看招聘信息的时候,经常会看到这一点,需要具备SSH框架的技能;而且在大...

    Spring+3.x企业应用开发实战光盘源码(全)

     第15章:对Spring MVC框架进行详细介绍,对REST风格编程方式进行重点讲解,同时还对Spring 3.0的校验和格式化框架如果和Spring MVC整合进行讲解。  第16章:有别于一般书籍的单元测试内容,本书以当前最具实战的...

    中软国际Spring简介

    3天 第一天 Spring 基本概念(IOC) 第二天 AOP 第三天 Spring 整合Struts,Hibernate SSH

    Spring.3.x企业应用开发实战(完整版).part2

    12.1 Spring整合ORM技术 12.2 在Spring中使用Hibernate 12.2.1 配置SessionFactory 12.2.2 使用HibernateTemplate 12.2.3 处理LOB类型数据 12.2.4 添加Hibernate事件监听器 12.2.5 使用原生Hibernate API 12.2.6 ...

    Spring-Reference_zh_CN(Spring中文参考手册)

    2. Spring 2.0 的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 更简单的XML配置 2.2.2. 新的bean作用域 2.2.3. 可扩展的XML编写 2.3. 面向切面编程(AOP) 2.3.1. 更加简单的AOP XML配置 2.3.2. 对@AspectJ 切面的...

    spring_note.rar_inversion_spring concept

    课程内容 面向接口(抽象)编程的概念与好处 IOC/DI的概念与好处 ...Struts2.1.6 + Spring2.5.6 + Hibernate3.3.2整合(重要) opensessionInviewfilter(记住,解决什么问题,怎么解决) Spring JDBC

    Spring 2.0 开发参考手册

    整合 17. 使用Spring进行远程访问与Web服务 17.1. 简介 17.2. 使用RMI暴露服务 17.2.1. 使用 RmiServiceExporter 暴露服务 17.2.2. 在客户端链接服务 17.3. 使用Hessian或者Burlap通过HTTP远程调用服务 ...

    MyEclipse 6 Java 开发中文教程第十章

    223 &lt;br&gt;10.5.2.2 反向工程生成Spring整合Hibernate的DAO.. 225 &lt;br&gt;10.5.2.3 用Spring 1.2 的事务代理类解决事务提交问题... 232 &lt;br&gt;10.5.2.4 用Spring 2.0 的aop和tx声明式配置解决事务提交问题... 234...

    spring chm文档

    Spring Framework 开发参考手册 Rod Johnson Juergen Hoeller Alef Arendsen Colin Sampaleanu Rob Harrop Thomas Risberg Darren Davison Dmitriy Kopylenko Mark Pollack Thierry Templier Erwin ...

    spring培训学习笔记

    并对一些常用的企业服务API(Application Interface)提供一致的模型封装,是一个全方位的应用程序框架(Application framework),除此之外,对于现存的各种框架(Struts、JSF、Hibernate 等),Spring 也提供了与...

    Spring中文帮助文档

    2.6.4. 将Spring 应用程序上下文部署为JCA adapter 2.6.5. 计划任务 2.6.6. 对Java 5 (Tiger) 支持 2.7. 移植到Spring 2.5 2.7.1. 改变 2.8. 更新的样例应用 2.9. 改进的文档 I. 核心技术 3. IoC(控制反转)...

Global site tag (gtag.js) - Google Analytics