摘要

在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. bzoj1572

    题解: 每一次不能满足的时候 找一个之前有过的 然后最小的 和他替换 代码: #include<bits/stdc++.h> using namespace std; ; long lon ...

  2. tomcat conf目录下文件的作用

    本文以apache-tomcat-6.0.26为准介绍 1.   web.xml: 默认(欢迎)文件的设置  配置包括:主要是配置servlet,包括初始化参数,设置session等 <serv ...

  3. iOS开发多线程篇—GCD简介

    iOS开发多线程篇—GCD介绍 一.简单介绍 1.什么是GCD? 全称是Grand Central Dispatch,可译为“牛逼的中枢调度器” 纯C语言,提供了非常多强大的函数 2.GCD的优势 G ...

  4. IIS7 经典模式和集成模式的区别

    IIS7.0中的Web应用程序有两种配置形式:经典形式和集成形式. 经典形式是为了与之前的版本兼容,运用ISAPI扩展来调用ASP.NET运转库,原先运转于IIS6.0下的Web应用程序迁移到IIS7 ...

  5. ImportError: cannot import name 'path'

    ImportError: cannot import name 'path' django的版本问题 先卸载 django1.11.14 重新安装最新的django2.0.7

  6. Python mode_+

    f = open("葫芦小金刚", mode="r+", encoding="utf-8") content = f.read(2) # 顺 ...

  7. 强大的Grafana worldping插件

    安装worldping插件: 官方插件地址 查看安装说明,在grafana server上执行命令,完成后重启grafana server,重启,请注意,要重启 重启grafana service g ...

  8. Centos编译Unix网络编程(第三版)卷1的源代码

    测试环境:Centos 1)在shell中输入./configure然后按回车(注意先让configure有执行权限 chomd 777 configure) 2)依次进入lib.libfree.li ...

  9. Codeforces Round #252 (Div. 2) D

    http://codeforces.com/problemset/problem/441/D 置换群的基本问题,一个轮换内交换成正常顺序需要k-1次,k为轮换内元素个数 两个轮换之间交换元素,可以把两 ...

  10. LOJ2538. 「PKUWC2018」Slay the Spire【组合数学】

    LINK 思路 首先因为式子后面把方案数乘上了 所以其实只用输出所有方案的攻击力总和 然后很显然可以用强化牌就尽量用 因为每次强化至少把下面的牌翻一倍,肯定是更优的 然后就只有两种情况 强化牌数量少于 ...