摘要

在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. Java语言的概述

  2. es6 规范 的 具体用法 -- 待续

    链接 1. const 表示不会被重新赋值的,  包括了不会被修改的, const 可以被修改, 但是不会被整体覆盖 由于是静态分析, const  相对 let 执行效率 更高 2. 模板字符串   ...

  3. jq 的onchange事件

    按商品类型显示:<select onchange="location.href='__ACTION__/type_id/'+this.value;">    <o ...

  4. mysql 删除表中记录

    一.清除mysql表中数据 delete from 表名;truncate table 表名;不带where参数的delete语句可以删除mysql表中所有内容,使用truncate table也可以 ...

  5. jmeter随笔(34)-WebSocket协议接口测试实战

    2017年春节结束了,一切再次回归到正轨,我们飞测也开始继续分享,小怪在这里预祝大家在2017年工作顺利,满满的收获. 背景:今天研发哥们QQ我,请教websocket协议的接口测试,这哥们自己开发了 ...

  6. 【linux】wifi不能使用的问题

    Worked solution (Requirements: kernel >=4.11) : Download driver directory from this repo:https:// ...

  7. 在有 UI 线程参与的同步锁(如 AutoResetEvent)内部使用 await 可能导致死锁

    AutoResetEvent.ManualResetEvent.Monitor.lock 等等这些用来做同步的类,如果在异步上下文(await)中使用,需要非常谨慎. 本文将说一个在同步上下文中非常常 ...

  8. 【BZOJ1703】【usaco2007margold】ranking the cows 奶牛的魅力排名

    想的时间比较长所以看题解了= = 原题: Fj有N(N<=1000)头牛,每头牛都有独一无二的正整数 魅力值,Fj想让他们按 魅力值排序. Fj已经知道M(1<=M<=10000)对 ...

  9. 【vue】创建一个vue前端项目,编译,发布

    npm: Nodejs下的包管理器. webpack: 它主要的用途是通过CommonJS的语法把所有浏览器端需要发布的静态资源做相应的准备,比如资源的合并和打包. vue-cli: 用户生成Vue工 ...

  10. test20180919 递归问题

    题意 定义 \[ f(n)=\left\{ \begin{array}{} 1 & n=1\\ f(n-f(f(n-1)))+1 & n>1 \end{array} \right ...