摘要

在Spring下整合Hibernate时,关于sessionFactory的配置方式主要有两种,分别为注解配置方式,和xml配置方式,下面将对这两种配置方式进行介绍。

1. sessionFactory和数据库对应,有多少个数据库,就需要配置多少个sessionFactory;

2. session相当于数据库连接,进行数据库的CRUD操作时,需要开启session,用完需要关闭session;
3. 配置sessionFactory,主要要配置如下三个方面:
  3.1. 数据源配置;
  3.2. Hibernate属性配置;
  3.3. 映射文件配置;
  (3.4  一般还需要进行事务配置)

关于sessionFactory的类型

Hibernate映射文件可以有两种方式:1. @注释 和  2.xml配置文件;
使用两种不同方式配置时,sessionFactory的类型不同,具体如下:
@注释方式:
org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean 
 XML文件方式:
org.springframework.orm.hibernate3.LocalSessionFactoryBean 

见程序:(applicationContext-xxx.xml)

XML方式

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
  4. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
  5. <bean id="sessionFactory"
  6. class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  7. <property name="dataSource">
  8. <ref bean="dataSource" />
  9. </property>
  10. <property name="hibernateProperties">
  11. <props>
  12. <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
  13. <prop key="connection.pool_size">100</prop>
  14. <prop key="hibernate.jdbc.batch_size">100</prop>
  15. <prop key="hibernate.show_sql">false</prop>
  16. <prop key="hibernate.default_schema">${hibernate.default_schema}</prop>
  17. <省略...>
  18. </props>
  19. </property>
  20. <property name="mappingDirectoryLocations">
  21. <list>
  22. <value>classpath:/config/hibernate-config-sql2000</value>
  23. </list>
  24. </property>
  25. </bean>
  26. </beans>


@注解方式

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
  4. xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
  5. <bean id="sessionFactory"
  6. class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
  7. <property name="dataSource">
  8. <ref bean="dataSource" />
  9. </property>
  10. <property name="hibernateProperties">
  11. <props>
  12. <!-- 此处ORACLE与SQL数据库应该区别 -->
  13. <prop key="hibernate.dialect">org.hibernate.dialect.OracleDialect</prop>
  14. <!-- <prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop> -->
  15. <prop key="connection.pool_size">100</prop>
  16. <prop key="hibernate.jdbc.batch_size">100</prop>
  17. <prop key="hibernate.show_sql">true</prop>
  18. <prop key="hibernate.default_schema">${hibernate.default_schema}</prop>
  19. <省略...>
  20. </props>
  21. </property>
  22. <!--
  23. <property name="mappingResources">
  24. <list>
  25. <value>hibernate-config/DistrictArea.hbm.xml</value>
  26. </list>
  27. </property>
  28. -->
  29. <property name="mappingDirectoryLocations">
  30. <list>
  31. <value>classpath:/config/hibernate-config</value>
  32. </list>
  33. </property>
  34. </bean>
  35. <bean id="transactionManager"
  36. class="org.springframework.orm.hibernate3.HibernateTransactionManager">
  37. <property name="sessionFactory" ref="sessionFactory" />
  38. </bean>
  39. </beans>

 





【Hibernate学习笔记-3】在Spring下整合Hibernate时, 关于sessionFactory的类型的说明的更多相关文章

  1. Hibernate学习笔记(二)

    2016/4/22 23:19:44 Hibernate学习笔记(二) 1.1 Hibernate的持久化类状态 1.1.1 Hibernate的持久化类状态 持久化:就是一个实体类与数据库表建立了映 ...

  2. Hibernate学习笔记(一)

    2016/4/18 19:58:58 Hibernate学习笔记(一) 1.Hibernate框架的概述: 就是一个持久层的ORM框架. ORM:对象关系映射.将Java中实体对象与关系型数据库中表建 ...

  3. Hibernate学习笔记

    一.Hibernate基础 1.Hibernate简介 Hibernate是一种对象关系映射(ORM)框架,是实现持久化存储的一种解决方案.Java包括Java类到数据库表的映射和数据查询及获取的方法 ...

  4. Spark学习笔记3——RDD(下)

    目录 Spark学习笔记3--RDD(下) 向Spark传递函数 通过匿名内部类 通过具名类传递 通过带参数的 Java 函数类传递 通过 lambda 表达式传递(仅限于 Java 8 及以上) 常 ...

  5. Spring Framework 学习笔记——核心技术之Spring IOC

    Spring Framework 官网文档学习笔记--核心技术之Spring IOC 官方文档 spring-framework-5.3.9 1. Spring Framework 核心技术 1.1 ...

  6. Spring Boot 整合Hibernate Validator

    Spring Boot 整合Hibernate Validator 依赖 <dependencies> <dependency> <groupId>org.spri ...

  7. Hibernate 学习笔记一

    Hibernate 学习笔记一 今天学习了hibernate的一点入门知识,主要是配置domain对象和表的关系映射,hibernate的一些常用的配置,以及对应的一个向数据库插入数据的小例子.期间碰 ...

  8. Hibernate学习笔记-Hibernate HQL查询

    Session是持久层操作的基础,相当于JDBC中的Connection,通过Session会话来保存.更新.查找数据.session是Hibernate运作的中心,对象的生命周期.事务的管理.数据库 ...

  9. (转)Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境

    Lua学习笔记1:Windows7下使用VS2015搭建Lua开发环境(一)注意:工程必须添加两个宏:“配置属性”/“C或C++”/“预处理器”/“预处理器定义”,添加两个宏:_CRT_SECURE_ ...

随机推荐

  1. POJ 1947 Rebuilding Roads 树形dp 难度:2

    Rebuilding Roads Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 9105   Accepted: 4122 ...

  2. [置顶]使用scrapy_redis,自动实时增量更新东方头条网全站新闻

    存储使用mysql,增量更新东方头条全站新闻的标题 新闻简介 发布时间 新闻的每一页的内容 以及新闻内的所有图片.项目文件结构. 这是run.py的内容 1 #coding=utf-8 2 from ...

  3. 怎么使用C++标准库来实现二维数组

    在编程里,像界面布局是二维的,那么常常使用二维数组来表示界面的元素,那么就需要使用二维的数组,在现在C++肯定是以标准库为基础了,不再使用C的二维数组,那么怎么样做呢?下面就使用vector来实现二维 ...

  4. PAT 天梯赛 是否完全二叉搜索树   (30分)(二叉搜索树 数组)

    将一系列给定数字顺序插入一个初始为空的二叉搜索树(定义为左子树键值大,右子树键值小),你需要判断最后的树是否一棵完全二叉树,并且给出其层序遍历的结果. 输入格式: 输入第一行给出一个不超过20的正整数 ...

  5. GTK安装

    上面是linux下GTK+配置所需要的库,关于各个库的功能,查看http://www.gtk.org/overview.php,至于库的下载在http://www.gtk.org/download/l ...

  6. SharePoint 2010: Change welcome page on PowerShell

    摘要: SharePoint 2010之后呢, 建立一个 Team Site会有两个 default page, 分别是 Sitepages/home.aspx and default.aspx. 这 ...

  7. Windows下C++删除清除map

    清除单map(非嵌套map) #include<map> #include<string> #include<iostream> using namespace s ...

  8. 【图文教程】win7+VMware8.0+CentOS6.4 NAT上网

    在win7下面安装VM8.0,里面又安装多个虚拟机,各个虚拟机之间可以互相访问,同时虚拟机可以直接访问外网上网,win7要ping通个虚拟机中的系统.这种方式就使用NAT模式,开启VMware Net ...

  9. python去掉字符串'\xa0'

    AssertionError: '5\xa0e\xa0*\xa0*\xa0*\xa05' != '5e***5'mystr = '5\xa0e\xa0*\xa0*\xa0*\xa05'mystr = ...

  10. hdu1255 覆盖的面积 线段树-扫描线

    矩形面积并 线段树-扫描线裸题 #include<stdio.h> #include<string.h> #include<algorithm> #include& ...